戚薇戚薇戚薇

让他夜夜
热液乳业人员

centos下mysql启动失败的问题总结

更新时间:2020-05-21 13:47:13点击:

点击查看原图

今儿清算服无器上的烧毁文件,不晓得动了mysql的甚么文件,重启mysql历程时提醒:

Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/l/JJonline.pid).

就抓狂了,服无器上的几个网站还跑着了,mysql启动不了这不歇菜了。找了找关联这种疑问的材料,这里做下总结。

一、my.cnf建设文件datadir项建设毛病或被启动剧本窜改

这个疑问不太说讲,要紧是mysql自带的启动文件(/etc/init.d/mysqld)中会主动检验mysql的数据存储目次,如果mysql新装,还未初始化体系表,辣么建设文件中的datadir项写不写无所谓,发现这种环境要紧是在变动了mysql的数据存储目次,本日我发现的这个疑问就在于此。

我的mysql安置后的建设文件中对于datadir项目的建设以下,而该建设文件存储于/etc/my.cnf,今儿不知动了甚么器械,查来查去都没找着缘故,后来翻开该建设文件才发掘,此中的datadir项目被窜改成/var/mysql/data了.....

[mysqld] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql

两历程里曾经存在mysql历程

这种环境我非常少碰到,如果存在mysql历程但有不供应mysql服无(阐扬为其余客户端持续不上mysql服无器,比方php持续mysql时提醒“持续失利”),这个时分就要看看有无存在的mysql僵尸历程了,号令以下:

ps -ef|grep mysql

如果存在,该号令实行后会列出存在的僵尸历程,kill -9 `pid`掉即可。

三、mysql的数据存储目次权限不及

这种环境产生于mysql第一次安置或晋级,建设文件中的datatdir目次的权限要设定好,普通来说运转mysql的用户以及组即是mysql.mysql,辣么办理权限不及疑问的技巧以下:

chown -R mysql.mysql /data/mysql ##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录 ##如果为空,则默认为mysql安装目录下的data文件夹下

四、笼盖安置或晋级mysql后,残存数据的影响

这种环境产生于mysql被笼盖安置或晋级后,固然mysql无故宕机后也会有这种环境,大概会影响mysql启动的数据文件,普通存在于mysql的数据存储目次(这个目次根据my.cnf建设文件中的datadir而异),也即是存在于mysql数据存储目次下的mysql-bin.index文件,删除之即可。

五、selinux的疑问,centos下非常轻易发现

selinux不甚打听,干脆关掉。

##方法1:永久关闭seliux ##修改 vi /etc/selinux/config #文件中设置SELINUX=disabled ,然后重启服务器 ##方法2:暂时关闭seliux setenforce 0 ##如需每次开机都铃声关闭seliux,则可以在/etc/rc.d/rc.local文件中添加该命令

六、mysql运转状况下删除binary日记后重启失利

这是本日在群里的一个同事发现的,特汇总于此;当mysql开启了二进制日记而且mysql在运转状况下用rm号令删除过mysql的binary日记文件的话,下次重启mysql你就悲催了。

甚么是binary日记?说白了即是mysql的数据目次下的mysql-bin.000001、mysql-bin.000002的文件,下图所示。

办理技巧即是点窜建设文件一时封闭binary-log,而后删除mysql数据目次下的全部相似mysql-bin.000001、mysql-bin.000002的文件后再次重启,mysql即可启动胜利。

#mysql配置关闭二进制日志 找到如下语句 注释掉即可 #log-bin=mysql-bin #binlog_format=mixed

此步调操纵结束以后,如果还需求启用二进制日记,辣么就要先停掉mysql服无,而后点窜msyql的建设文件,再次重启即可。

别的再附上精确删除mysql二进制日记文件的技巧(统统不是rm -rf号令干脆删这些文件):

#第一步 通过shell或cmd登录进mysql 这步没什么好说的 msyql -u root -p *** #第二步 在mysql下直接执行清理binary日志命令 mysql> reset master #注意:此处仅针对单台mysql而言,如果有互备mysql 则执行该命令有风险

列位访客如果碰到上述还未提到过的环境,请留言反应!