沉沙
2018-05-14
来源 :
阅读 2141
评论 0
摘要:MySQL数据库中如果用的是MYISAM数据引擎,那么数据很好恢复,只要将相应.frm, .MYD, .MYI文件拷贝过去即可。也可以使用REPAIR TABLE tablename USE_FRM;但是如果是InnoDB的数据库,开启innodb_file_per_table=1,则每一个数据表都是一个单独的文件,比如User表,则会建立User.frm和User.ibd.直接拷贝这两个文件到新的MySQL数据目录下一般来说是不行的,本文提供了一种MySQL数据库损坏恢复方法。
最后解决的办法:
0.备份原/var/lib/mysql文件夹,执行mysqld --initialize
1. copy ibdata1及数据库WordPress相关文件夹
cp /var/lib/mysql-backup/ibdata1 /var/lib/mysql
cp -r /var/lib/mysql-backup/wordpress /var/lib/mysql
2.修改root为mysql用户,因为这步绕了一大圈才解决
chown mysql.mysql /var/lib/mysql -R
3.重启
systemctl restart mysql.service
4.查看是否成功
use wordpress;
SHOW CREATE TABLE wp_users \G;
MySQL中如果用的是MYISAM数据引擎,那么数据很好恢复,只要将相应.frm, .MYD, .MYI文件拷贝过去即可。而且也可以使用REPAIR TABLE tablename USE_FRM;但是因为是InnoDB的数据库,如果开启innodb_file_per_table=1,则每一个数据表都是一个单独的文件,比如User表,则会建立User.frm和User.ibd.直接拷贝这两个文件到新的MySQL数据目录下一般来说是不行的,那么什么时候可以呢?只有在你的ibd文件的tablespace id和ibdata1文件中的元信息的tablespace id一致才可以。
本文由职坐标整理发布,更多相关知识,请关注职坐标数据库MySQL频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号