mysql myisam可以通过直接复制frm,MYD,MYI,来备份和还原,非常的方便。innodb其实也是可以的,不过就比较麻烦了。
1,设置独立表空间
# vim /etc/my.cnf //[mysqld]添加以下内容,
innodb-file-per-table=1
如果一开始设置的共享表空间,先导出数据库,删除库,然后设置成独立表空间后,在导入数据。别忘了重启。
2,创建测试表,删除表空间
mysql> create table T_AccountReceivable_20200228 like T_AccountReceivable;
Query OK, 0 rows affected (0.00 sec) //复制一张空表
mysql> ALTER TABLE T_AccountReceivable_20200228 DISCARD TABLESPACE;
Query OK, 0 rows affected (0.03 sec) //删除表空间
3,copy表空间文件,并修改权限
# ll |grep T_AccountReceivable_2020 //只有表结构文件
-rw-r----- 1 mysql mysql 15100 2月 28 15:59 T_AccountReceivable_20200228.frm
# cp T_AccountReceivable.ibd T_AccountReceivable_20200228.ibd
# chown mysql.mysql T_AccountReceivable_20200228.ibd //修改权限
4,导入并测试
mysql> ALTER TABLE T_AccountReceivable_20200228 IMPORT TABLESPACE;
Query OK, 0 rows affected, 1 warning (0.29 sec)
mysql> select count(*) as total from T_AccountReceivable_20200228;
+-------+
| total |
+-------+
| 4286 |
+-------+
1 row in set (0.02 sec)