今天mysql突然无法启动服务,即便使用/usr/local/mysql/support-files mysql.server start
也无济于事,经过好一番折腾,发现是我装了manager-osx,其中内置的mysql与原来装的mysql冲突了,杀死占用的进程后,重新启动服务即可。
问题出现的原因总结
1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2、可能进程里已经存在mysql进程
解决方法:用命令“ ps aux |grep mysql”查看是否有mysql进程,如果有使用“kill -9
进程号”杀死,然后重新启动mysql!
3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉!。
4、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
5、错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
可能出现的错误日志
不管是什么原因导致mysql无法启动,最好的解决办法就是查看错误日志,下面是比较频繁出现的错误日志,便于及时筛查。。
错误1:
ERROR! The server quit without updating PID file
错误2:
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
错误3:
ERROR! MySQL server PID file could not be found!
建议解决方案一:
首先
ps aux |grep mysql
来查看mysql相关进程是否存在,存在的话就删除
sudo kill -9 进程号
例: sudo kill -9 12345
然后再次尝试启动mysql, 一般是会成功的
建议解决方案二:
cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot # rebot是电脑重启!!!执行这条前保存下进度啥的
sudo mysql.server start