Mysql表使用中,Mysql下修复MYISAM表, MySQL数据表损坏的巧妙修复
2016-06-06 15:40
441 查看
修复mysql表之前首先要知道是哪个表出了问题
可以用root登录后在information_schema里查找有问题的表名
可以通过事件查看器里是否有
应用程序日志--类型为"错误"--事件来源为"Mysql"的错误日志,大概内容为
或者直接在phpmyadmin中查看有哪些表出了问题比如显示“使用中”
如果查到问题表后,可以使用一下命令来修复mysql数据库中的MYISAM表
1、check, repair
例如abc的test表有问题
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的MySQL数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
进行检测,如果需要修复的话,可以使用:
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!
3、检测修复所有数据库(表)
可以用root登录后在information_schema里查找有问题的表名
select TABLE_SCHEMA as DB_DBNAME,TABLE_NAME from INFORMATION_SCHEMA.tables where engine is null;
可以通过事件查看器里是否有
应用程序日志--类型为"错误"--事件来源为"Mysql"的错误日志,大概内容为
xxxxx: Table '.xxxx' is marked as crashed and should be repaired
或者直接在phpmyadmin中查看有哪些表出了问题比如显示“使用中”
如果查到问题表后,可以使用一下命令来修复mysql数据库中的MYISAM表
1、check, repair
例如abc的test表有问题
# mysql -u root -p 'abc'; //登录mysql控制台,并进入abc数据库mysql> check table test; //如果有问题Msg_type里会有warning或error。没有问题的话出现的结果Status是OKmysql> repair table test; // 修复test表(多个表名用“逗号”隔开)mysql> check table test; // 再次检查确认是否修复成功2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的MySQL数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个MySQL数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
mysqladmin -uroot -p shutdown另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/MySQL.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI其中的/tmp/MySQL.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/MySQL/MySQL.sock,对于使用源码安装则是/tmp/MySQL.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!
3、检测修复所有数据库(表)
MySQLcheck -A -o -r -pmysqlcheck --all-databases -r
相关文章推荐
- mysql中Table is read only的解决
- UNIX时间戳 按月分组 按年月分组 按日分组 mysql语句
- mysql动态行转列
- MySQL数据库INNODB 表损坏修复处理过程
- Visual Studio 2013 连接MySQL数据库
- loadrunner进行接口测试,提交数据到mysql数据库为null
- Mysql优化相关总结
- Mysql JOIN优化。
- ubuntu上安装mysql
- mysql 创建用户自定义函数(转可运行)
- Powerdesigner jdbc链接mysql失败问题(逆向工程)
- Mysql数据库名和表名的大小写敏感性问题
- MySQL常用的SQL查询语句
- Atlas+keepalive+LVS+mysql主从
- MYSQL参数学习---------------- 张碧池
- MySQL影响性能的因素
- MySQL管理常用命令
- mysql启动脚本详解
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法
- MySQL数据库为已有表主键设置自增且初始值为1000