有开发找到我,说数据库坏了,连不上数据库,看了下 MySQL 的错误日志,报错以下:html
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
一、先中止 MySQL:service mysqld stop
二、进入到 MySQL 数据库的文件存放目录,好比 cd /data/mysql_data/xx_db
而后执行以下命令:mysql
myisamchk --safe-recover -f -r *.MYI
执行完成后,为了保险起见,咱们要将文件的权限改回 MySQL 的运行帐号(自行查看),好比 mysql:sql
chown -R mysql:mysql .
三、启动 MySQL:service mysqld start
四、最后,执行再次自动修复优化命令便可解决:数据库
mysqlcheck --auto-repair --optimize --all-databases -p密码
]# /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe --defaults-file=/etc/my.cnf & [1] 24527 ]# 2020-11-23T10:36:45.803151Z mysqld_safe Logging to '/data/wapage/hhzk/mserver/mysql5713/data/qd01-tech2-rec-build001.ps.easou.com.err'. 2020-11-23T10:36:45.809116Z mysqld_safe The file /usr/local/mysql/bin/mysqld does not exist or is not executable. Please cd to the mysql installation directory and restart this script from there as follows: ./bin/mysqld_safe& See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information [1]+ Exit 1 /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe --defaults-file=/etc/my.cnf
说明:mysqld_safe启动脚本默认的从/usr/local/mysql目录中读取另一个启动脚本mysqld,由于个人安装目录为/data/wapage/hhzk/mserver/mysql5713。因此找不到相关文件。能够从两个方面解决。
方法一:在/usr/local/mysql建立连接文件bash
mkdir -p /usr/local/mysql/bin ln -s /data/wapage/hhzk/mserver/mysql5713/bin/mysqld /usr/local/mysql/bin/mysqld
方法二:将mysqld_safe中的全部/usr/local/mysql目录改成本身实际的安装目录ide
sed -i 's#/usr/local/mysql#/data/wapage/hhzk/mserver/mysql5713#g' /data/wapage/hhzk/mserver/mysql5713/bin/mysqld_safe