公司信息站,机房冷启一次。再次开机后,网站能打开,信息能查,但是个别表出现提示:Table ‘xxx’ is marked as crashed and should be repaired 。且无法查看表里内容。 修复步骤 :
停止nginx服务器
nginx -s quit
//这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。
如果提示:-bash: nginx:command not found
到 sbin/ 目录下 执行:
./nginx -s quit
查看nginx状态
ps -ef|grep nginx
进入mysql/bin目录执行mysqlcheck 命令 自动检测修复
mysqlcheck --auto-repair 库名 -uroot -p123456
此处如果提示:mysqldump command not found 查一下mysqldump所在目录,一般以/usr/local/mysql/bin/mysql 做一个软链到/usr/bin
ln -fs /usr/local/mysql/bin/mysqlcheck /usr/bin
如果知道 具体哪个表可以直接进入mysql命令行执行修复
repair table 表名;
如果不知道,可以执行备份操作
3.mysql 数据备份 带压缩
mysqldump -u root -p 123456 库名 | gzip > /路径/backup20190522.sql.gz
此处如果提示:mysqldump command not found 查一下mysqldump所在目录,一般以/usr/local/mysql/bin/mysql 做一个软链到/usr/bin
ln -fs /usr/local/mysql/bin/mysql /usr/bin
备份的时候,会提出有的表还存在,“is marked as crashed and should be repaired” 的情况,而中止。那就重复第二步操作。 4. 完成后,重启nginx,到 sbin/ 目录下 执行:
./nginx