[摘要]+--------------+-----------------+D、备份tempdb.dictmajor 表1. 备份命令innobackupex --host=127.0.0.1 --user...
+--------------+-----------------+
D、备份tempdb.dictmajor 表
1. 备份命令
innobackupex --host=127.0.0.1 --user=backuper --password=backup123 --port=3306 --include='tempdb.dictmajor' /tmp/tempdb
2. 备份完成后会在备份目录(/tmp/tempdb) 下生成用当前时间命名的目录,里面保存的就是备份文件
tree /tmp/tempdb/
/tmp/tempdb/
└── 2016-09-10_18-25-16
├── backup-my.cnf
├── ibdata1
├── tempdb
│ ├── dictmajor.frm
│ └── dictmajor.ibd
├── xtrabackup_binlog_info
├── xtrabackup_checkpoints
├── xtrabackup_info
└── xtrabackup_logfile
E、备份完成后就可以删除tempdb.dictmajor表了(注意这里一定要保存一份表的定义,还原时会用到)
mysql>drop table tempdb.dictmajor;
F、为了得到一个一致的备份集 在还原操作前还要进行一次日志的前滚和回滚
1. 前滚&回滚日志
innobackupex --apply-log --export /tmp/tempdb/2016-09-10_18-25-16/
2. 与前滚& 回滚前的对比
tree /tmp/tempdb/
/tmp/tempdb/
└── 2016-09-10_18-25-16
├── backup-my.cnf
├── ibdata1
├── ib_logfile0
├── ib_logfile1
├── tempdb
│ ├── dictmajor.cfg
│ ├── dictmajor.exp
│ ├── dictmajor.frm
│ └── dictmajor.ibd
├── xtrabackup_binlog_info
├── xtrabackup_binlog_pos_innodb
├── xtrabackup_checkpoints
├── xtrabackup_info
└── xtrabackup_logfile
G、还原tempdb.dictmajor表
1. 创建 tempdb.dictmajor表
create table dictmajor(
column_value tinyint not null,
column_mean varchar(32) not null,
constraint pkdictmajor primary key (column_value));2. 删除 tempdb.dictmajor的表空间文件
alter table tempdb.dictmajor discard tablespace;
3. 把备份中的表空间文件复制到tempdb.dictmajor 表空间应该在的位置
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.ibd /usr/local/mysql/data/tempdb/
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.exp /usr/local/mysql/data/tempdb/
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.cfg /usr/local/mysql/data/tempdb/
chown -R mysql:mysql /usr/local/mysql/data/tempdb/*
4. 导入表空间文件
alter table tempdb.dictmajor import tablespace;
5. 查看dictmajor表恢复情况
select * from dictmajor;
+--------------+-----------------+
关键词:详细介绍mysql针对单张表的备份与还原的示例代码