美文网首页
备份单表

备份单表

作者: 古飞_数据 | 来源:发表于2021-08-07 07:41 被阅读0次

备份单表:
1 制作备份
[root@localhost ~]# innobackupex --user=backup --password=123456 --databases="cumcm.cumcm_sys_country" /home/pack
查看备份
[root@localhost 2019-05-31_13-17-57]# ls
backup-my.cnf cumcm ibdata1 xtrabackup_binlog_info xtrabackup_checkpoints xtrabackup_info xtrabackup_logfile
2 准备恢复文件
[root@localhost 2019-05-31_13-17-57]# innobackupex --apply-log --export /home/pack/2019-05-31_13-17-57/
[root@localhost cumcm]# ls
cumcm_sys_country.cfg cumcm_sys_country.exp cumcm_sys_country.frm cumcm_sys_country.ibd
3 创建表(库)
mysql> CREATE TABLE cumcm_sys_country (
Id int(11) NOT NULL AUTO_INCREMENT,
Name varchar(255) DEFAULT NULL,
AreaCode varchar(10) DEFAULT NULL,
PRIMARY KEY (Id)
) ENGINE=InnoDB AUTO_INCREMENT=193 DEFAULT CHARSET=utf8;
4 丢弃表空间
mysql> ALTER TABLE mydatabase.mytable DISCARD TABLESPACE;
5 恢复文件拷贝到对应表或者库目录下
[root@localhost cumcm]# cp /home/pack/2019-05-31_13-17-57/cumcm/cumcm_sys_country.* /var/lib/mysql/cumcm
cp:是否覆盖"/var/lib/mysql/cumcm/cumcm_sys_country.frm"? y
查看覆盖情况
[root@localhost cumcm]# ls
cumcm_sys_country.cfg cumcm_sys_country.exp cumcm_sys_country.frm cumcm_sys_country.ibd
[root@localhost cumcm]# cd /var/lib/mysql
6 授权文件
[root@localhost cumcm]# chown -R mysql:mysql /var/lib/mysql
7 加载表空间
mysql> ALTER TABLE cumcm.cumcm_sys_country IMPORT TABLESPACE;

物理全备需要满足的条件:
innodb_file_per_table开启
innodb存储引擎
表有对应的.ibd文件
满足以上条件就可以通过物理备份集生成以表为单位的export文件

测试

物理全备

/usr/local/bin/xtrabackup --defaults-file=/etc/3309.cnf --user=root --socket=/tmp/3309.sock --parallel=4 --backup --target-dir=/data0/sql/20171016.bak

export表:还原,加选项--export
xtrabackup --prepare --export --target-dir=/data0/sql/20171016.bak/

如果备份时时加密的,那么还原时还需指定密钥文件,选项--keyring-file-data

查看某个表对应的备份文件
find /tmp/20171016.bak/ -name 't1*'
/data0/sql/20171016.bak/test/t1.frm
/data0/sql/20171016.bak/test/t1.cfg
/data0/sql/20171016.bak/test/t1.exp
/data0/sql/20171016.bak/test/t1.ibd
import 表

复制代码

删除ibd文件

ALTER TABLE test.t1 DISCARD TABLESPACE;

.cfg文件可以不拷贝并重新授权

cp /data0/sql/20171016.bak/test/t1.* /data0/mysql/3309_test/test/

ll /data0/mysql/3309_test/test/t1.*
-rw-r----- 1 mysql mysql 16384 Oct 16 23:11 /data0/mysql/3309_test/test/t1.exp
-rw-r----- 1 mysql mysql 8676 Oct 16 23:11 /data0/mysql/3309_test/test/t1.frm
-rw-r----- 1 mysql mysql 163840 Oct 16 23:12 /data0/mysql/3309_test/test/t1.ibd

导入

ALTER TABLE test.t1 IMPORT TABLESPACE;
Query OK, 0 rows affected, 1 warning (0.11 sec)
复制代码

###########操作期间遇到的报错###################

ALTER TABLE test.t1 IMPORT TABLESPACE;
ERROR 1812 (HY000): Tablespace is missing for table test.t1.

是未拷贝ibd文件导致

ALTER TABLE test.t1 IMPORT TABLESPACE;
ERROR 1815 (HY000): Internal error: Cannot reset LSNs in table test.t1 : Tablespace not found

是文件未授权导致

相关文章

  • mysqldump备份脚本

    备份全库 备份单库 备份多库 只备份单库下的全部表结构: 单库下只备份某些表结构: 单库下的只备份数据(不带表结构...

  • mydumper备份数据库

    一、备份 1.全库备份 2.单库备份 3.表备份 二、恢复 恢复库 单表恢复 单表恢复需要解压备份文件为sql格式...

  • 数据备份yu还原;

    数据备份yu还原 方式: 数据表备份 单表数据备份 SQL备份 增量备份 数据表备份 存储引擎:innodb、my...

  • 数据的备份与还原

    一、备份方式数据备份的方式有:数据表备份,单表数据备份,SQL备份,增量备份 数据表备份 不需要通过sql来备份,...

  • 备份单表

    备份单表:1 制作备份[root@localhost ~]# innobackupex --user=backup...

  • mysql单表备份

  • mysqldump对MySQL做备份和恢复

    数据库密码为root 以下命令对mysql单库做备份 以下命令对mysql单表做备份 以下命令对数据进行还原 备注...

  • mysql-备份-导入

    2020/09/031、备份表、表结构、表内容、备份库 #############################...

  • SQL Server表备份

    创建相同表结构不包含数据的备份表 SELECT * INTO 备份表名 FROM 原表名 WHERE 1=2 备份...

  • Mysql定期把新数据备份到备份表内

    背景 一个备份表,一个新表,需要定期的增量把新表产生的数据备份到备份表内,再清空新表。 创建新表及数据 创建备份表...

网友评论

      本文标题:备份单表

      本文链接:https://www.haomeiwen.com/subject/hhccvltx.html