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)
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/mysql/2380.html