宝塔面板Mysql 5.6版本无法正常启动的解决方法

数据库出问题,网站就很尴尬了,前段时间就遇到了两个数据库上的问题,来看一下

朋友找我的时候说的是 Mysql 启动不了,看他发的截图是宝塔面板,就要来了面板信息去看了一下

第一个问题

第一个问题是 phpMyAdmin 报错:

mysqli_real_connect(): (HY000/2002): No such file or directory

解决方法把 phpMyAdmin 目录中的配置文件做以下修改:

/www/server/phpmyadmin/phpmyadmin_XXXXXXXX/libraries目录下

config.default.php文件中的$cfg['Servers'][$i]['host'] = 'localhost';,将localhost改为127.0.0.1

同理/www/server/phpmyadmin/phpmyadmin_XXXXXXXX目录下

config.inc.php文件中$cfg['Servers'][$i]['host'] = 'localhost';,将localhost改为127.0.0.1

刷新网页就可以了

第二个问题

Mysql 无法正常启动,也没有报错,我去查看了一下日志,也没看出来个什么名堂,只能一步一步的去检查了

点到了安全,发现没有放行 Mysql 的 3306 端口,我给添加上了

然后启动还是失败,继续检查,要来了 SSH 信息,连接上服务器

使用命令检查了一下是否是磁盘空间不足、内存不足导致的 mysql 服务无法正常启动

命令如下:

df -h #检查是否磁盘空间不足导致mysql服务无法正常启动
free #检查是否内存不足导致mysql服务无法正常启动

一切正常,和面板显示的没有多大出入

然后去查看了一下 data 目录(数据存放目录) Mysql 目录(数据库目录)用户是否为 mysql

ll /www/server/

发现 Mysql 目录确实不是 mysql 的用户,给他改回去

用户组错误

使用命令:

chown -R mysql:mysql /www/server/data #修改data目录
chown -R mysql:mysql /www/server/mysql #修改mysql目录

再检查了一下配置文件

vi /etc/my.cnf

也是正常的,启动依旧失败

无解了,用一下官方提供的脚本检查出错

wget -O sql-repair.sh http://download.bt.cn/install/sql-repair.sh && sh sql-repair.sh

输出一大串错误,mysql 无法正常启动,请将以上错误信息截图发至论坛寻求帮助

官方脚本报错信息

仔细看一下报错信息,端口占用,哔了哈士奇

使用命令查看端口 3306

netstat -pan | grep 3306

tcp   0   0   127.0.0.1:53958   127.0.0.1:3306   LISTEN   1653/xxx

发现果然有占用,查看一下它的 pid (pid:进程号),结束掉它,不能直接禁用,我们还要用 3306 呢,这里的响应我忘了保存,反正就是有占用,我加上这个响应是为啥呢,为了告诉你通过 pid 结束这个进程

正常应该是这样子的:

tcp6   0   0 :::3306   :::*   LISTEN   6701/mysqld

这个 1653 就是这个进程的 pid,通过命令

kill -9 1653

关掉对应的应用程序,则端口就自然关闭了,也就不存在端口占用了

没有报错的话就尝试启动下 Mysql,发现正常启动了,bingo~

Mysql 挂的原因很大程度是重启服务器所致,没事不要重启服务器,如果修改过配置文件等,重载服务即可无需重启

确实需要重启请使用面板中的安全重启,切勿使用 reboot 命令

5 条评论

发表评论

*