好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL5.7 重新初始化解决mysql库表坏问题

一、问题报错
 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint xxxx and the end yyyy. 
 

因MySQL上存储的应用数据并没有多大,mysql下多张表都存在问题,加上有数据备份,选择了直接重新初始化mysql库解决问题。

二、问题处理 1、机器下线,应用服务停止,确认备份的数据库大小合理并可用 2、my.cnf配置文件[mysqld]下添加innodb_force_recovery=6 重启数据库,可以启动并登录进去 3、执行自动检查应用库并修复表
 mysqlcheck -u username -p -B databsename --auto-repair
 
4、再次做个应用库备份导出
 mysqldump -u username -p  databasename > databasename_$(date +%F).sql
 
5、将现有的数据库datadir目录重命名备份
 mv /mysql/data{,-bak}
 
6、初始化MySQL
 mysql/bin/mysqld --initialize --user=mysql
 
7、查找新密码,并修改
 cat  logs/mysql/error.log | grep password
mysql> alter user ‘root‘@‘localhost‘ identified by ‘新密码‘;
mysql> flush privileges;
 
8、创建应用库,添加应用链接数据库的用户并授权
 mysql> create database databasename;
mysql> create user ‘username‘@‘localhost‘ identified by ‘之前该应用用户的密码‘;
mysql> grant all on databasename.* to ‘username‘@‘localhost‘;
mysql> flush privileges;
 
9、还原应用的数据库
 bin/mysql -uusername -p databasename < 备份.sql
 
10、重启应用服务,数据库服务,业务验证 三、参考链接

https://blog.csdn.net/qq813361162/article/details/52770712

MySQL5.7 重新初始化解决mysql库表坏问题

标签:配置   user   数据备份   bin   应用服务   xxxx   red   targe   int   

查看更多关于MySQL5.7 重新初始化解决mysql库表坏问题的详细内容...

  阅读:31次