本帖最后由 宁静志远 于 2019-10-29 01:01 编辑
数据库出问题,网站就很尴尬了,前段时间就遇到了两个数据库上的问题,来看一下 朋友找我的时候说的是 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 3306tcp 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 命令
https://qq52o.me/2485.html 原文
|