非法关机 mysql_一次非法关机导致mysql数据表损坏的实例解决 -电脑资料

排查修复数据表的经过:

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日期数据类型、时间类型使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LINUX重启MYSQL的命令 . 分类: Linux 2010-06-25 10:21 6367人阅读 评论(0) 收藏 举报 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 提问 编辑摘要 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 刚开始学 mysql时都是用redhat自带的。启动是什么 /rc.d/init.d/ start 这很简单,但是后来越学越多,系统自带的 mysql,有的是版本太低,有的是与 自己想要装的web服务需要的低版本的mysql 后来自己学着以tar的方式安装 mysql,我的mysql装在/usr/local/mysql目录下启 动碰到过很多问题。最常见的是: ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: [root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root / > -S /var/lib/mysql/mysql.sock password 'your.passwd' 或者做个连接 ln -s /var/lib/mysql/mysql.sock /tmp 其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动 命令不对,我碰到过 常见的几种启动方式,自己也不是记得很清楚,如果你确定tmp下有mysql.sock这 个文件不妨试试另外的几个命令 /usr/local/mysql/bin/mysql -u root -p /usr/local/mysql/bin/mysqld --user=mysql& /usr/local/mysql/bin/mysqld --user=root& /usr/local/mysql/bin/mysqld_safe --user=root& /usr/local/mysql/bin/mysqld_safe --user=mysql& /usr/local/mysql/bin/safe_mysqld--uer=root&(注意 safe_mysqld与mysqld_safe是不同的,&表示mysql在后台运行)我的就会报错了 STOPPING server from pid file /usr/local/mysql/data/localhost.localdomain.pid 060304 11:46:21 mysqld ended 这是权限问题,我的mysql目录属于root用户,也属于root群组,改用 mysqld_safe启动就没问题了, 大家只要注意这几个 mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多试 几次 其实有时mysql已经正常启动了,查看mysql是否启动命令 ps -aux | grep mysqld 会看到如下类似内容 mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep mysql 查看mysql是否在监听端口命令 netstat -tl | grep mysql 会看到如下类似内容 tcp 0 0 *:mysql *:* LISTEN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值