一次非法关机导致MySQL数据表损坏的实例解决

2022-11-12 09:31:15
内容摘要
这篇文章主要为大家详细介绍了一次非法关机导致MySQL数据表损坏的实例解决,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 排查修复数据
文章正文

这篇文章主要为大家详细介绍了一次非法关机导致MySQL数据表损坏的实例解决,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

排查修复数据表的经过:

1、访问网页,提示错误,连接不到数据库。

2、启动mysql服务,卸载和关闭rpm安装的mysql服务(昨天安装postfix好像yum安装了mysql),用netstat -anp |grep mysqld 命令查看mysql服务没有起来,用mysql -uroot -p也连接不到服务器。

3、查看错误提示:110726 17:02:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.110726 17:02:23 [ERROR] /usr/local/mysql/libexec/mysqld: Table './mysql/host' is marked as crashed and last (automatic?) repair failed110726 17:02:23 [ERROR] Fatal error: Can't open and lock privilege tables: Table './mysql/host' is marked as crashed and last (automatic?) repair failed 110726 17:02:23 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended110726 17:24:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql110726 17:24:31 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.发现提示数据库表损坏。(./mysql/host)

4、修复数据库表:cd /var/lib/mysql/mysqlmyisamchk -of host.MYI- recovering (with keycache) MyISAM-table 'host.MYI'Data records: 0表host.MYI修复成功。

5、再次启动服务,查看服务是否启动,登录mysql,还是不行。所以再次查看错误日志。/usr/local/mysql/libexec/mysqld: Table './mysql/plugin' is marked as crashed and last (automatic?) repair failed/usr/local/mysql/libexec/mysqld: Table 'plugin' is marked as crashed and last (automatic?) repair failed110726 17:24:31 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.110726 17:24:31 [ERROR] /usr/local/mysql/libexec/mysqld: Table './mysql/user' is marked as crashed and last (automatic?) repair failed110726 17:24:31 [ERROR] Fatal error: Can't open and lock privilege tables: Table './mysql/user' is marked as crashed and last (automatic?) repair failed 110726 17:24:31 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended110726 17:27:13 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql110726 17:27:13 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.

6、又发现./mysql/user表损坏。[root@localhost mysql]# myisamchk -of user.MYI- recovering (with keycache) MyISAM-table 'user.MYI'Data records: 6

7、表修复成功,但是还是启动不了服务,继续看错误日志。/usr/local/mysql/libexec/mysqld: Table './mysql/plugin' is marked as crashed and last (automatic?) repair failed/usr/local/mysql/libexec/mysqld: Table 'plugin' is marked as crashed and last (automatic?) repair failed110726 17:27:13 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.110726 17:27:13 [ERROR] /usr/local/mysql/libexec/mysqld: Table './mysql/db' is marked as crashed and last (automatic?) repair failed110726 17:27:13 [ERROR] Fatal error: Can't open and lock privilege tables: Table './mysql/db' is marked as crashed and last (automatic?) repair failed110726 17:27:13 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended

8、最后一个错误,是./mysql/db表还没有修复好继续修复./mysql/db表。

9、执行下面的命令修复./mysql/db表:[root@localhost mysql]# myisamchk -of db.MYI- recovering (with keycache) MyISAM-table 'db.MYI'Data records: 0Data records: 2

10、最后启动mysql服务。/usr/local/mysql/bin/mysqld_safe &

11、查看服务是否在运行。[root@localhost ~]# netstat -anp | grep mysqldtcp0 00.0.0.0:33060.0.0.0:* LISTEN4360/mysqldunix 2 [ ACC ] STREAM LISTENING 141724360/mysqld /tmp/mysql.sock这时发现服务已运行。

12、登录mysql试试。[root@localhost ~]# mysql -uroot -p123456Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 35Server version: 5.1.55-log Source distributionCopyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.This software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL v2 licenseType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>可以登录。

13、打开网页,已经可以正常访问了,说明MySQL数据库的数据表修复成功。

注:关于一次非法关机导致MySQL数据表损坏的实例解决的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!