问题:服务器上mysql数据库损坏
报错:
查看.err文件:
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
发现mysql.user文件的确丢失了,,,,
现在的首要任务是恢复数据,尝试在无法启动服务的情况下恢复数据
现状:本地保存有很久之前的备份文件,也就是说待恢复的数据库的结构还在,需要恢复数据
方法一,数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下
- 保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
- 停止两边的Mysql服务(A服务器--迁移-->B服务器)
- 删除B服务器Mysql的data目录下所有文件
- 拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下
- 启动B服务器的Mysql服务,检测是否发生异常