Linux运维必会的MySQL企业面试题

基础笔试命令

1、开启MySQL服务

[root@localhost ~]# /etc/init.d/mysqld start
[root@localhost ~]# service mysqld start
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl start mysqld

2、检测端口是否运行

[root@localhost ~]# lsof -i :3306
[root@localhost ~]# netstat -ntl | grep 3306

MySQL面试题2021 mysql面试题运维_数据库

3、MySQL设置密码或者修改密码

设置密码
[root@ ~]#: mysqladmin -u root -p password 新密码
修改密码
[mysql]> update user set password=password(‘新密码’) where user=‘root’; (mariadb)
mysql> ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;(mysql8+)

4、查看当前数据库版本

[root@ ~]#: mysql -V

MySQL面试题2021 mysql面试题运维_数据库_02

5、创建用户并授权(mysql8+)

mysql> create user ‘用户名’@‘localhost’ identified by ‘123456’;
mysql> grant select,update on . to ‘用户名’@‘localhost’;

MySQL面试题2021 mysql面试题运维_数据库_03

6、查看当前登录的用户

mysql> select user();

MySQL面试题2021 mysql面试题运维_mysql_04

7、查看当前数据库里有哪些用户

mysql> select user from mysql.user;

MySQL面试题2021 mysql面试题运维_mysql_05

8、删除zengweiliang用户

mysql> drop user zengweiliang@localhost;

MySQL面试题2021 mysql面试题运维_sql_06

9、查看创建的用户villian拥有哪些权限

mysql> show grants for villian@localhost

MySQL面试题2021 mysql面试题运维_MySQL面试题2021_07

10、查看当前数据库的字符集

mysql> show create database DB_NAME; (database改为table,查看表字符集)

MySQL面试题2021 mysql面试题运维_mysql_08

11、修改库表的GBK字符集为UTF8

mysql> alter database sziit default character set utf8;

MySQL面试题2021 mysql面试题运维_MySQL面试题2021_09


mysql> alter table teacher default character set utf8;


MySQL面试题2021 mysql面试题运维_mysql_10

12、查看建表结构及表结构的SQL语句

mysql> desc teacher;

MySQL面试题2021 mysql面试题运维_mysql_11


mysql> show create table


MySQL面试题2021 mysql面试题运维_数据库_12

13、创建一innodb GBK表student1,字段id int(4)和name varchar(16)

mysql> create table student (
id int(5),
name varchar(10)
)engine=innodb default charset=gbk;

MySQL面试题2021 mysql面试题运维_sql_13

UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。

14、修改表的引擎为MyISAM

mysql> alter table test engine=MyISAM(innodb);

MySQL面试题2021 mysql面试题运维_MySQL面试题2021_14

15、查看表引擎

mysql> show table status from 库名 where name=‘表名’ \G;

MySQL面试题2021 mysql面试题运维_MySQL面试题2021_15


mysql> show create table 表名;


MySQL面试题2021 mysql面试题运维_数据库_16

16、使用mysqldump备份恢复数据库

> **进入数据库创建测试库及表**
[root@localhost ~]# mysql -u root -p 
mysql> show databases;                   ## 查看所有库  ##
+--------------------+
| Database           |
+--------------------+
| mysql              |
+--------------------+
mysql> create database test;             ## 创建test库 ##
mysql> use test;                         ## 进入test库 ##
mysql> create table student (            ## 创建student表 ##
    -> id int(10),
    -> name varchar(10)
    -> );
mysql> insert into student (id,name) values (1,'villian'); ## 写入信息 ##
mysql> show databases;                   ## 查看所有库  ##
+--------------------+
| Database           |
+--------------------+
| mysql              |
| test               |
+--------------------+
————————————————————————————————————————————————————————————————————————
> **退出mysql,使用mysqldump进行备份**
[root@localhost ~]# mysqldump -u root -p -B test > /root/test.sql   ## 备份 ##
[root@localhost ~]# ll /root/test.sql            ## 查看是否备份成功 ##
-rw-r--r--. 1 root root 2080 10月  4 10:18 /root/test.sql
————————————————————————————————————————————————————————————————————————
> **进入mysql,对test库进行删除**
mysql> drop database test;            ## 删除test库 ##
mysql> show databases;                ## 查看所有库 ##
+--------------------+
| Database           |
+--------------------+                  
| mysql              |                ## test库已不在 ##
+--------------------+
————————————————————————————————————————————————————————————————————————
> **退出mysql,使用mysql进行恢复**
[root@localhost ~]# mysql -u root -p < /root/test.sql     ## 还原 ##
或者
mysql命令行恢复:mysql> source /root/test.sql
————————————————————————————————————————————————————————————————————————
> **进入mysql,查看test库是否恢复成功**
mysql> show databases;                 ## 查看所有库  ##
+--------------------+
| Database           |
+--------------------+
| mysql              |
| test               |                 ## test库恢复 ##
+--------------------+
————————————————————————————————————————————————————————————————————————