说明:红色字体是对方的说明
黑色字体是自己的回答
×××背景为自己的解决思路。
作为刚入门DBA菜鸟,可能问题解决的并不高效,可能有更好的发现问题的方法,欢迎各位专家们指出,不胜感激~
【现象】对方说mysql有以下状况:
/etc/init.d/mysql stop 能把mysql停了,但/etc/init.d/mysql start 起不来,可用/usr/bin/mysqld_safe &能启动数据库
【问题解决过程】:
/etc/init.d/mysql start 启动的时候会提示什么呢? 看下$datadir/error.log
怀疑是service mysql start 失效,可能用二进制安装的。
嗯,我猜应该是二进制安装的把?
rpm包
嗯 以前该服务器上安装过mysql吗?
我用rpm 卸载了
排除是二进制安装,并且得知以前有rpm安装的痕迹
嗯 看下error.log把
日志是空的。但启动的时候,出来“Starting MySQL.The server quit without updating PID file (/home/mysql/mysql.pid).[FAILED]”
怀疑是配置文件的问题,因为没有错误日志,八成与配置文件有关
有/etc/my.cnf这个文件吗?
传了一个my.cnf文件给我
看了下传过来的配置文件,发现里面datadir和log都指了正确的位置,想确认下mysqld_safe &启动后,datadir的位置是否应用了配置文件里的位置。
ps -ef | grep mysql 看下有没有mysql的进程 如果有先停下
嗯 模拟一次mysqld_safe & 看下error.log的记录
mysql刚才用/etc/init.d/mysql 停了。我现在用mysqld_safe启动下
嗯 进入mysql 看下datadir所在的位置,看下是/home/mysql/下吗?
mysql 进入 show variables like '%datadir%';
mysql> show variables like '%datadir%';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| datadir | /home/mysql/ |
+---------------+--------------+
可以确认配置文件没有问题,问题应该出在/etc/init.d/mysql 这个脚本上,上网找到了rpm包安装后这个启动脚本的默认路径,让对方尝试下重新cp一个到/etc/init.d/mysql上,经过测试,问题解决
试下cp /usr/share/mysql/mysql.server /etc/init.d/mysql 再通过/etc/init.d/mysql start启动下
OK了
【问题原因】:
嗯 应该是/etc/init.d/mysql 这个是你卸载之前的版本
所以现在不能使用了
转载于:https://blog.51cto.com/saadiya/1080250