技术宅晚上对数据库进行了优化,一直都是使用的wdcp面板,感觉挺方便,省去了在shell各种编码管理。
数据库一直用的是景安的数据库,独立的,发现经常出现数据库连接错误,就想想还是直接使用vps的吧。然后选择了数据库优化方案,重启web之后提示无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确,顿时感觉蛋疼了,不过各种研究之后发现在shell运行service mysqld start提示
MySQL manager or server PID file could not be found! [FAILED]
Starting MySQL.Manager of pid-file quit without updating fi[FAILED]
无语了,看看数据库3306端口吧,运行:netstat -lnpt发现端口没有开启,于是尝试着打开etc/my.cnf中的basedir、datadir、user是否正确填写,打开了my.cnf看到了[mysqld]下面是no-auto-rehash,于是找到错误了,直接将no-auto-rehash改为:
[mysqld]user = root
port= 3306
socket= /tmp/mysql.sock
然后在shell运行:service mysqld restart就可以了。我暂时就是这种问题,如果还有其他的问题,可以参考下面:
[callout class=”danger” title=””]
检查mysql是否启动netstat -lnpt
是否有3306端口?
一 有
A 检查/www/wdlinux/wdcp/data/db.inc.php文件是否存在,
并检查该用户密码,否正常和登录,可以在phpmyadmin,或ssh mysql里登录
登录后检查是否有wdcpdb数据库及相关数据表
或
B 检查/www/wdlinux/mysql/var/下有没wdcpd目录及目录下是否有文件
如果没有
可手工在phpmyadmin创建数据库wdcpdb数据库,及wdcp用户并把信息保存到/www/wdlinux/wdcp/data/db.inc.php文件中
同时将/www/wdlinux/wdcp/wdcpdb.sql文件导入
完成
二 没有
用ssh登录服务器
service mysqld restart
看是否能正常启动,并把错误信息贴上来
如果mysql启动不起来(有错误),执行如下
sed -i ‘s/skip-innodb/#skip-innodb/g’ /www/wdlinux/etc/my.cnf
再
service mysqld restart
试试
三 工具修复
可以直接使用工具检查,用ssh登录服务器,然后执行如下命令即可
sh /www/wdlinux/tools/mysql_wdcp_chg.sh [/callout]