ITPub博客

首页 > 数据库 > MySQL > MySQL 迁移表空间,备份单表

MySQL 迁移表空间,备份单表

原创 MySQL 作者:longer3281 时间:2021-05-31 14:58:36 0 删除 编辑

迁移表空间,可以使用xtrabackup工具备份源表。

要求条件: 导出的单表必须拥有独立的表空间文件,数据库系统参数innodb_file_per_table设置为on。


1)使用xtrabackup备份单表sudo /usr/bin/xtrabackup --defaults-file=/etc/my.cnf --tables=flight.test2021 --user=root --password='XXXXXX' --socket=/home/mysql_data/mysql.sock --parallel=4 --lock-ddl --backup \

--target-dir=/home/backup/load &


2)使用工具xtrabackup对备份文件进行日志恢复。

sudo /usr/bin/xtrabackup --prepare --export --target-dir=/home/backup/load


3)在目标库flight上,用源表建表语句建表。

4)在目标库 flight上,设置会话级,不记日志模式: set sql_log_bin=0。

5)在目标库 flight上,导出表结构,命令行执行alter table  test2021 discard tablespace。

6)将备份出的   test2021所有文件,复制到目标库的表 test2021 下面的对应位置上,修改文件权限:chown mysql.mysql  test2021.*。

7) 在目标库 flight上,命令行上执行  alter table  test2021 import tablespace,等待几分钟。

8)验证,select count(*) from test2021,源端与目标端,记录数一直即可。


另: --tables=flight.test2021 默认是模糊匹配,如果需要精确匹配,则需要借助正则表达式。如匹配单表: --tables='^flight.test2021$', 如果不使用正则表达式,则需要匹配同一个库下表名包含关键字 t est2021的其他表。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9606353/viewspace-2774696/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: expect使用实例
请登录后发表评论 登录
全部评论
数据库架构师,DB从业经历 DB2,Oracle,MySQL,PGSQL,MonogDB 等数据库,hadoop,hive,spark,flink,doris等大数据技术。

注册时间:2009-05-22

  • 博文量
    69
  • 访问量
    185389