微信店奖Mysql表损坏问题复盘
作为IT那活儿的小编小本本,我们将为大家详细介绍微信店奖Mysql表损坏问题的复盘过程。

问题解决过程
1. 发现无法创建用户
白天首次创建用户时,收到Mysql.user表损坏问题报错。在测试环境对Mysql.user表进行重建,确定重建过程不影响业务时,决定申请停应用对表进行重建。
2. 重建表后仍然报错
在尝试使用三套方案(查询表结构-创建备份表-删除表后导入备份表、mysqldump出单表-删表表后导入dump出的.sql文件、从同Mysql版本的其他库mysqldump出单表-在本库删表表后导入dump出的.sql文件)重建Mysql.user表之后,仍然收到该报错。
3. 尝试修复表
使用repairtable语句修复Mysql.user表之后,仍然收到该报错。
4. 尝试重建Mysql.db表
仿照重建Mysql.user表的步骤,尝试重建Mysql.db表,仍然收到该报错。
5. 尝试赋权
尝试为查询Mysql.db表赋予权限,但收到了新的报错:Mysql.tables_priv表损坏。使用修复表之后同样失败。
6. 主从同步断开
在尝试修复期间,主从同步断开。核查后发现从库到主库3306端口不通,开放端口后问题恢复。
7. 尝试升级(mysql_upgrade)
第一次运行mysql_upgrade报错,但可以正常执行上一步的赋权语句。第二次加入–force选项,再次运行,可以进行用户创建。在主库完成upgrade操作的同时,从库再次报错。
8. 主从同步错误
在从库进行mysql_upgrade后仍无法正常运行slave进程。
9. 从库重建Mysql.user表
尝试在从库重建Mysql.user表,表信息来自主库dump结果,仍然无法正常运行slave进程。
10. 从库手动跳过该错误
确定可以跳过当前这个错误日志后,连续执行相关语句三次之后,主从同步恢复正常。
11. 系统表主从同步错误
目前只有业务数据库同步正常,系统表主从同步仍然有问题。
12.Mysql默认环境变量问题
最终确定为Mysql默认环境变量问题,到Mysql软件目录运行mysql_upgrade成功,创建测试用户成功。
解决思路
1. Mysql.user表引擎问题
考虑采用8.0版本升级以解决MYISAM引擎存在的故障问题。
2. Mysql主从同步设置
可以考虑只同步业务数据库,即排除系统表。
3. Mysql表损坏问题修理思路
首先,尝试使用repairtablexxx进行修复。如果第一步失败,尝试导出重建表。如果第二步失败,尝试手动运行mysql_upgrade进行升级。如果第三步失败,尝试重新初始化(仅针对从库)。
以上为对微信店奖Mysql表损坏问题复盘的详细介绍。关注IT那活儿获取更多行业资讯和解决问题的技巧。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6218.html
