淘主机 发表于 2013-5-23 09:37:43

如何修复mysql数据库

有的时候因为掉电或者其他原因导致数据库损坏,我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库;例如
检查优化并修复所有的数据库用:

1.先在运行中输入CMD,启动命令行.

2.进入Mysql的Bin目录:E:\Program Files\MySQL\MySQL Server 5.0\bin,如果不知道如何进入别的目录,就要参考网上的资料补习基础知识了.
常见方式:
运行 E:
运行 CD "E:\Program Files\MySQL\MySQL Server 5.0\bin"

3.运行:mysqlcheck -A -o -r -uroot -ppassword


注意,将password改成你自己的root用户密码

mysql.columns_priv                 OK
mysql.db                      OK
mysql.func                     OK
mysql.help_category                OK
mysql.help_keyword                 OK
mysql.help_relation                OK
mysql.help_topic                  OK
mysql.host                     OK
mysql.tables_priv                 OK
mysql.time_zone                  OK
mysql.time_zone_leap_second            OK
mysql.time_zone_name                OK
mysql.time_zone_transition             OK
mysql.time_zone_transition_type          OK
mysql.user                     OK
......
......
......

注意!



在修复过程中,如果看到有error的提示,表明这个表是坏的,无法修复的,对于含有坏表的的数据库,您只能删除它,或停止它,不然会影响整个Mysql的稳定,造成mysql自动停止.(提示"The storage engine for the table doesn't support repair"的表不需要处理)


如果修复太快看不到结果,可以运行
mysqlcheck -A -o -r -uroot -ppassword >>C:\test.txt

运行后打开C:\test.txt就可以看到了.


淘主机 发表于 2013-5-23 09:38:00

MySQL数据库mysqlcheck的使用方法的相关知识是本文我们主要要介绍的内容,我们知道,mysqlcheck,是mysql自带的可以检查和修复MyISAM表,并且它还可以优化和分析表,mysqlcheck的功能类似myisamchk,但其工作不同。

主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。使用myisamchk修复失败是不可逆的。

1.如果需要检查并修复所有的数据库的数据表,那么可以使用:

# mysqlcheck -A -o -r -p
# Enter password:   
database1 OK
database2 OK
2.如果需要修复指定的数据库用

# mysqlcheck -A -o -r Database_NAME -p
3.如果使用其他用户名修复

# mysqlcheck -A -o -r -p -u admin
# Enter password:   
database1 OK
database2 OK
这里admin是指定的mysql用户帐号。

4.如果使用指定的mysql.sock进入数据库并修复

# mysqlcheck -A -o -r -p -S /tmp/mysql.sock
# Enter password:   
database1 OK
database2 OK
这里/tmp/mysql.sock是指定的mysql.sock存放的路径。

关于MySQL数据库mysqlcheck的使用方法的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
页: [1]
查看完整版本: 如何修复mysql数据库