前言:
今天姐妹们对“idbmysql”大概比较看重,我们都想要分析一些“idbmysql”的相关文章。那么小编在网摘上网罗了一些关于“idbmysql””的相关知识,希望大家能喜欢,兄弟们快快来了解一下吧!第一步:导出表结构。
表名.frm文件是存放表结构的元数据,无法直接打开,需要借助工具,可使用MYSQL Utilities工具进行查看,下载地址:
安装过程中可能会提示未安装 Visual C++ Redistributable Packages for Visual Studio 2013,则先下载安装,下载地址:
第二步:使用.frm文件恢复表结构打开cmd命令行,进入到.frm文件所在目录,执行命令:mysqlfrm --diagnostic ./文件名.frm。比如表名为site,则执行:
mysqlfrm --diagnostic ./site.frm
在导出的建表语句最后加一句:
ROW_FORMAT=COMPACT
有些建表语句varchar()括号里面的长度过长,可能会报这个错,修改括号里值即可。比如原来是varchar(2000),改成varchar(1000)。
错误代码:1071 Specified key was too long;
获取建表SQL语句后,导入数据库,创建表结构。
第三步:卸载表空间
执行以下命令将表空间卸载,卸载完成后,数据库目录下的.idb文件被删除了。
alter table 表名 discard tablespace; #mysql中执行第四步:停止mysql服务
systemctl stop mysql第五步:复制idb文件
复制.idb文件到数据库所在目录,跟.frm文件相同目录,一般是在数据安装路径\data\数据库名
第六步:授权
给数据库目录授执行权限:
chmod -R 760 /www/server/data/数据库名第七步:启用mysql服务
systemctl start mysql第八步:绑定表空间
ALTER TABLE 表名 IMPORT TABLESPACE; #mysql中执行第九步:重新加载
到mysql安装目录执行以下命令,需要输入root账号的密码
/www/server/mysql/bin/mysqladmin -uroot -p reload第十步:刷新表数据
/www/server/mysql/bin/mysqladmin -u root -p flush-tables
数据恢复完成!
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #idbmysql