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添加此主机;

    


名称栏目:mariadb故障问题总结
文章出自:http://scyanting.com/article/gdgjhj.html