有人找到我,说数据库坏了,访问网站报错如下:
Error establishing a database connection
看了下 MySQL 的错误日志,报错如下:
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
修复很简单,先停止 MySQL:service mysqld stop
进入到 MySQL 数据库的文件存放目录,比如 cd /data/mysql/zhangge_db
然后执行如下命令:
myisamchk --safe-recover -f -r *.MYI
执行完成后,为了保险起见,我们要将文件的权限改回 MySQL 的运行账号(自行查看),比如 mysql:
chown -R mysql:mysql .
启动 MySQL:service mysqld start
最后,执行再次自动修复优化命令即可解决:
mysqlcheck --auto-repair --optimize --all-databases -p密码