今天在centos中启动linux时,一直出现一下报错:
Starting MySQL...... ERROR! The server quit without updating PID file (/data/mysqldata/mysql5.6.pid).
在mysql-error.log 日志中,并没有找到任何有用的错误报错:
解决方案:
查看mysql-error日志,如果发现有以下错误时,首先检查一下mysql-bin.index文件中保留的最大binlog编码,查看该编码的权限。
^G/data/soft/mysql/bin/mysqld: File './mysql-bin.000059' not found (Errcode: 13 - Permission denied)
2017-06-29 02:04:08 8776 [ERROR] Failed to open log (file './mysql-bin.000059', errno 13)
2017-06-29 02:04:08 8776 [ERROR] Could not open log file
2017-06-29 02:04:08 8776 [ERROR] Can't init tc log
2017-06-29 02:04:08 8776 [ERROR] Aborting
偷懒方法:
A、将mysql数据保存目录中的mysql-bin.index删除后,重启mysql就正常了。
B、如果通过A无法解决时,将mysql数据保存目录下的ibdata1和ib_logfile*都删除掉,再次重启mysql就恢复正常了。
2、发现一个诡异的现象:第一次使用mysql -uroot -p 方式登录时,出现:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方案:
a、查看mysql的绝对路径:which mysql
b、使用绝对路径/myql的方式进行登录,发现正常登录
c、再次使用mysql -root -p方式登录时,发现又可以正常登录了。