运维之MySQL面试题简单整理

运维之MySQL面试题简单整理

(1)基础笔试命令考察

1.开启MySQL服务

1./etc/init.d/mysqld start
2.service mysqld start
3.systemctl start mysqld

2.检测端口是否运行

1.lsof -i :3306
2.netstat -lntup |grep 3306

3.为MySQL设置密码或者修改密码

设置密码
1.mysql -uroot -ppassword -e "set passoword for root =   password('passowrd')"
2.mysqladmin -uroot password "NEWPASSWORD"
更改密码
1.mysqladmin -uroot password oldpassword "NEWPASSWORD"
2.use mysql;
3.update user set passowrd = PASSWORD('newpassword') where user = 'root';

5.7的版本改成了如下:
(update mysql.user set authentication_string =PASSWORD('mxl20152873..')where user ='root';)或者也可以用(SET PASSWORD = PASSWORD('root(密码)');)
 flush privileges;

获得初始密码
grep 'password' /usr/local/mysqld/log/mysql_error.log
如果还是不可以登录直接进入/etc/my.conf中加上skip-grant-tables跳过密码,然后MySQL进入数据库执行上面的修改密码即可

msyql 5.7以上版本修改默认密码命令
alter user 'root'@'localhost' identified by 'root' 

4.登陆MySQL数据库

mysql -uroot -ppassword

5.查看当前数据库的字符集

show create database DB_NAME;

6.查看当前数据库版本

1.mysql -V
2.mysql -uroot -ppassowrd -e "use mysql;select version();"

7.查看当前登录的用户

select user();

8.创建GBK字符集的数据库mingongge,并查看已建库完整语句

create database mingongge DEFAULT CHARSET GBK COLLATE gbk_chinese_ci;

9.创建用户mingongge,使之可以管理数据库mingongge

grant all on mingongge.* to 'mingongge'@'localhost' identified by 'mingongge';

10.查看创建的用户mingongge拥有哪些权限

show grants for mingongge@localhost

11.查看当前数据库里有哪些用户

select user from mysql.user;

12.进入mingongge数据库

use mingongge

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

create table test (id int(4),name varchar(16))ENGINE=innodb DEFAULT CHARSET=gbk;

14.查看建表结构及表结构的SQL语句

1.desc test;
2.show create table test\G

15.插入一条数据“1,mingongge”

insert into test values('1','mingongge');

16.再批量插入2行数据 “2,民工哥”,“3,mingonggeedu”

insert into test values('2','民工哥'),('3','mingonggeedu');

17.查询名字为mingongge的记录

select * from test where name = 'mingongge';

18.把数据id等于1的名字mingongge更改为mgg

update test set name = 'mgg' where id = '1';

19.在字段name前插入age字段,类型tinyint(2)

alter table test add age tinyint(2) after id;

20.不退出数据库,完成备份mingongge数据库

system mysqldump -uroot -pMgg123.0. -B mingongge >/root/mingongge_bak.sql

21.删除test表中的所有数据,并查看

1.delete from test;
2.select * from test;

22.删除表test和mingongge数据库并查看

1.drop table test;
2.show tables;
3.drop database mingongge;
4.show databases;

23.不退出数据库恢复以上删除的数据

system mysql -uroot -pMgg123.0.

24.把库表的GBK字符集修改为UTF8

1.alter database mingongge default character set utf8;
2.alter table test default character set utf8;

25.把id列设置为主键,在Name字段上创建普通索引

1.alter table test add primary key(id);
2.create index mggindex on test(name(16));

26.在字段name后插入手机号字段(shouji),类型char(11)

1.alter table test add shouji char(11);
2.#默认就是在最后一列后面插入新增列

27.所有字段上插入2条记录(自行设定数据)

insert into test values('4','23','li','13700000001'),('5','26','zhao','13710000001');

28.在手机字段上对前8个字符创建普通索引

create index SJ on test(shouji(8));

29.查看创建的索引及索引类型等信息

1.show index from test;
2.show create table test\G
3.#下面的命令也可以查看索引类型
4.show keys from test\G

30.删除Name,shouji列的索引

1.drop index SJ on test;
2.drop index mggindex on test;

31.对Name列的前6个字符以及手机列的前8个字符组建联合索引

create index lianhe on test(name(6),shouji(8));

32.查询手机号以137开头的,名字为zhao的记录(提前插入)

select * from test where shouji like '137%' and name = 'zhao';

33.查询上述语句的执行计划(是否使用联合索引等)

explain select * from test where name = 'zhao' and shouji like '137%'\G

34.把test表的引擎改成MyISAM

alter table test engine=MyISAM;

1

35.收回mingongge用户的select权限

revoke select on mingongge.* from mingongge@localhost;

36.删除mingongge用户

drop user migongge@localhost;

37.删除mingongge数据库

drop database mingongge

38.使用mysqladmin关闭数据库

1.mysqladmin -uroot -pMgg123.0. shutdown
2.lsof -i :3306

39.MySQL密码丢了,请找回?

1.mysqld_safe --skip-grant-tables & #启动数据库服务
2.mysql -uroot -ppassowrd -e "use mysql;update user set passowrd = 	PASSWORD('newpassword') where user = 'root';flush privileges;"
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些运维工程师在MySQL面试中可能会遇到的问题: 1. 如果发现MySQL导致的性能问题,你会如何解决? - 首先,可以使用show processlist命令查看当前MySQL的会话情况,确定是否有消耗资源的SQL语句正在运行。然后,可以通过优化查询语句、调整索引、增加缓存等方法来改善性能问题。 2. 请列举一些常用的MySQL数据库配置文件。 - 一些常用的MySQL数据库配置文件包括my.cnf、my.ini和my-default.ini。 3. 你所在公司使用的MySQL数据库是哪个版本?使用的存储引擎是什么? - 我们公司使用的是MySQL 5.7版本的数据库,存储引擎是InnoDB。选择InnoDB的原因是它具有安全事务的提交、回滚和崩溃恢复能力,虽然效率相对较低,但在业务中安全性是首要考虑的。 4. 请解释一下MySQL主从复制的原理。 - MySQL主从复制的原理是,主服务器将对数据库的修改记录放入bin-log日志中,从服务器通过IO线程获取主服务器上的这些修改记录,并通过dump线程将二进制日志发送到从服务器的中继日志上。然后,从服务器的SQL线程读取中继日志中的二进制日志,执行对数据库的修改,从而实现主从同步。 5. 如何查看MySQL数据库中有哪些用户? - 可以使用以下语句查询MySQL数据库中的用户信息:select user, host from mysql.user。 6. MySQL有哪些常见的存储引擎? - MySQL常见的存储引擎包括InnoDB存储引擎和MyISAM存储引擎[6]。 7. 你知道哪些MySQL的版本? - 了解的MySQL版本有MySQL 5.7、MySQL 5.6和MySQL 5.1。MySQL 5.7是最新的稳定发布系列,MySQL 5.6是相对稳定的发布系列,MySQL 5.1是一个稳定的发布系列。需要注意的是,较低于5.0的老版本,官方将不再提供支持。 希望这些问题的回答对你有所帮助。如果有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL面试常问问题(高可用/性能 + 运维) —— 赶快收藏](https://blog.csdn.net/weixin_43889788/article/details/128417356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [常用mysql数据库配置文件](https://download.csdn.net/download/zslsh44/88278582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [运维工程师面试题--(5 )(mysql篇)](https://blog.csdn.net/qq_44947614/article/details/106976504)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值