千家信息网

mariadb故障问题总结

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,故障1:初次启动遇到的故障1[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (r
千家信息网最后更新 2025年02月07日mariadb故障问题总结

故障1:初次启动遇到的故障1

[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!

问题原因:

在初始化数据库时系统自动建立了ibdata1,ib_logfile0,ib_logfile1几个文件
在配置文件中由于配置了:innodb_data_file_path = ibdata1:10M;ibdata2:10M:autoextend,跟初始化时的ibdata1的大小不一致导致的;
默认的ibdata1大小为8M,而我在此配置的为10M,是导致问题的原因

解决方法:

在mysql的data目录下,删除ibdata1,ib_logfile0,ib_logfile1;
在重新启动mysql,系统会根据配置再次生成ibdata文件

故障2:初次启动遇到的故障2

which: no socat in (/usr/sbin:/sbin:/usr//bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin) WSREP_SST: [ERROR] socat not found in path: /usr/sbin:/sbin:/usr//bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin (20170323 17:32:25.176)

问题原因:

在server.cnf中配置了wsrep_sst_auth="sst:86rt6y1adf@abc"

需要用到socat软件包;

解决方法:

#yum install epel-release -y (epel源可以提供socat程序包,其它yum没有socat程序包)

#yum install socat -y

安装后再次启动即可

故障3:有大量慢查询导致cpu服务飙升,从而导致服务器宕机

问题原因:当有一个慢查询阻塞时,后面所有的请求都会等待这个查询完成才会执行

解决办法:

如果只有少量慢查询,直接用kill 慢查询ID号,结束慢查询即可;例:mysql>kill 32232

如果有大量慢查询,只能关闭当前数据库服务;

当有大量的慢查询时,用/etc/init.d/mysql stop关闭时遇到的问题:

1.关闭特别慢,等了大概15分钟后,关闭失败,并且数据库无法登陆;

2.此时采用kill -9 PID号的方式进行强制关闭mysql进程

3.此时用/etc/init.d/mysql start的方式启动时,启动失败

4.再此用/etc/init.d/mysql start的启动一次,即可成功启动

临时解决办法:

1.找到可以正常使用的数据库

2.在前端的haproxy中,把不能正常访问的数据库移除;

3.等待出故障的数据恢复正常后,再从haproxy添加此主机;




0