安装 Mysqlfrm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
tar zxf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5
apt-get install python -y
python ./setup.py build
python ./setup.py install
mysqlfrm --version
|
生成 SQL
1
| mysqlfrm --diagnostic ./frm文件目录/ >> sql.sql
|
数据库以及表结构创建
生成的 SQL 语句会带有数据库,创建数据库时需进行对应,创建完数据库后,运行 SQL 语句进行表结构创建。
表空间卸载
1 2
| ## 单表 ALTER TABLE 表名 DISCARD TABLESPACE;
|
1 2
| ## 数据库下的所有表 SELECT concat('alter table ', table_name,' discard tablespace;') FROM information_schema.tables WHERE table_schema ='数据库名';
|
覆盖 idb 文件
将需要恢复的 idb 文件复制到对应数据库文件夹下,覆盖掉默认创建的 idb 文件
修改文件权限
1 2
| chown -R mysql:mysql 数据库文件夹/*
|
导入表空间
1 2
| ## 单表 ALTER TABLE 表名 IMPORT TABLESPACE;
|
1 2
| ## 数据库下的所有表 SELECT concat('alter table ', table_name,' import tablespace;') FROM information_schema.tables WHERE table_schema = '数据库名';
|
参考
https://pdf.us/2019/01/10/2620.html