排查修复数据表的经过:
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 failed
110726 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 ended
110726 17:24:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110726 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/mysql
myisamchk -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 failed
110726 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 failed
110726 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 ended
110726 17:27:13 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110726 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 failed
110726 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 failed
110726 17:27:13 [ERROR] Fatal error: Can't open and lock privilege tables: Table './mysql/db' is marked as crashed and last (automatic?) repair failed
110726 17:27:13 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended
8、最后一个错误,是./mysql/db表还没有修复好继续修复./mysql/db表,一次非法关机导致mysql数据表损坏的实例解决》(https://www.unjs.com)。
9、执行下面的命令修复./mysql/db表:
[root@localhost mysql]# myisamchk -of db.MYI
- recovering (with keycache) MyISAM-table 'db.MYI'
Data records: 0
Data records: 2
10、最后启动mysql服务。
/usr/local/mysql/bin/mysqld_safe &
11、查看服务是否在运行。
[root@localhost ~]# netstat -anp | grep mysqld
tcp0 0
0.0.0.0:3306
0.0.0.0:* LISTEN
4360/mysqld
unix 2 [ ACC ] STREAM LISTENING 14172
4360/mysqld /tmp/mysql.sock
这时发现服务已运行。
12、登录mysql试试。
[root@localhost ~]# mysql -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.1.55-log Source distribution
Copyright (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 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
可以登录。
13、打开网页,已经可以正常访问了,说明MySQL数据库的数据表修复成功。
您可能感兴趣的文章:
mysql数据库修改数据表引擎的方法
mysql 导入导出数据库、数据表的方法
MySQL数据表字段内容的批量修改、清空、复制等更新命令
php中批量删除Mysql中相同前缀的数据表的代码
MYSQL数据表损坏的原因分析和修复方法小结(推荐)
MySQL数据表损坏的正确修复方案
MYSQL使用.frm恢复数据表结构的实现方法
mysql 数据表中查找重复记录
由于mysql运行权限导致无法找到 Discuz! 论坛数据表! 的解决方法
mysql修复数据表的命令方法
QQ空间 搜狐微博 人人网 开心网 百度搜藏更多
Tags:非法关机 mysql数据表损坏
复制链接收藏本文打印本文关闭本文返回首页
上一篇:ubuntu下设置mysql自动备份的例子
下一篇:21分钟 MySQL 入门教程
相关文章
2014-04-04安全快速修改Mysql数据库名的5种方法
2013-10-10mysql like查询字符串示例语句
2008-07-07MySQL的Query Cache原理分析
2011-04-04Mysql源码学习笔记 偷窥线程
2008-07-07MySQL忘记密码恢复密码的实现方法
2008-06-06mysql常见错误集锦
2013-12-12dos或wamp下修改mysql密码的具体方法
2010-08-08对MySQL配置参数 my.ini/my.cnf的详细解析
2010-12-12mysql 数据插入优化方法
2014-06-06MySql的事务使用与示例详解
文章评论
最 近 更 新
mysql数据库优化必会的几个参数中文解释
MySql学习心得之存储过程
linux下perl操作mysql数据库(需要安装DBI
查看 MySQL 已经运行多长时间的方法
mysql服务无法启动报错误1067解决方法(my
Mysql 本地计算机无法启动 mysql 服务 错
MySQL的Grant命令详解
mysql 基本操作
MySQL InnoDB之事务与锁详解
MySQL配置文件my.cnf参数优化和中文详解
热 点 排 行
mysql安装图解 mysql图文安装教程
超详细mysql left join,right jo
Can''t connect to MySQL server
Mysql命令行导入sql数据
MYSQL 数据库导入导出命令
Mysql字符串截取函数SUBSTRING的
MySQL数据库备份与恢复方法
MySQL server has gone away 问题
windows下mysql忘记root密码的解
MySQL日期数据类型、时间类型使用