全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈mysql 针对单张表的备份与还原

A、MySQL 备份工具xtrabackup 的安装

1. percona 官方xtrabackup 的二进制版本;二进制版本解压就能用了。

2. 解压xtrabackup & 创建连接

tar -xzvf percona-xtrabackup-2.3.4-Linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/local/xtrabackup

3. 设置PATH环境变量
export PATH=/usr/local/xtrabackup/bin/:$PATH    

B、在mysql数据库中创建一个用户备份的用户 & 授权

1. 创建用户

        create user backuper@'localhost' identified by 'backup123';
        create user backuper@'127.0.0.1' identified by 'backup123';

2. 授权

grant reload,lock tables,replication client,process,super on *.* to 'backuper'@'localhost';
        grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'localhost';
        grant reload,lock tables,replication client,process,super on *.* to 'backuper'@'127.0.0.1';
        grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'127.0.0.1';

C、备份前的检查,这一步的主要目地是在之后做还原操作时,验证还原是不是有效;(生产是没有这一步的,

1. select * from tempdb.dict__major;
   select * from dict__major;

        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 汉语言文学      |
        |            2 | 精算            |
        |            3 | 生物制药        |
        |            4 | 材料化学        |
        |            5 | 商务英语        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 导游            |
        +--------------+-----------------+

D、备份tempdb.dict__major 表

1. 备份命令

innobackupex --host=127.0.0.1 --user=backuper --password=backup123 --port=3306 --include='tempdb.dict__major' /tmp/tempdb   

2. 备份完成后会在备份目录(/tmp/tempdb) 下生成用当前时间命名的目录,里面保存的就是备份文件

        tree /tmp/tempdb/
        /tmp/tempdb/
        └── 2016-09-10_18-25-16
            ├── backup-my.cnf
            ├── ibdata1
            ├── tempdb
            │   ├── dict__major.frm
            │   └── dict__major.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
           

E、备份完成后就可以删除tempdb.dict__major表了(注意这里一定要保存一份表的定义,还原时会用到)

mysql>drop table tempdb.dict__major;

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
            │   ├── dict__major.cfg
            │   ├── dict__major.exp
            │   ├── dict__major.frm
            │   └── dict__major.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_binlog_pos_innodb
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
           

G、还原tempdb.dict__major表

1. 创建 tempdb.dict__major表

        create table dict__major(
        column_value tinyint not null,
        column_mean varchar(32) not null,
        constraint pk__dict__major primary key (column_value));

2. 删除 tempdb.dict__major的表空间文件

alter table tempdb.dict__major discard tablespace;

3. 把备份中的表空间文件复制到tempdb.dict__major 表空间应该在的位置

        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.ibd /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.exp /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.cfg /usr/local/mysql/data/tempdb/
        chown -R mysql:mysql /usr/local/mysql/data/tempdb/*
       

4. 导入表空间文件

alter table tempdb.dict__major import tablespace;    

5. 查看dict__major表恢复情况

        select * from dict__major;
        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 汉语言文学      |
        |            2 | 精算            |
        |            3 | 生物制药        |
        |            4 | 材料化学        |
        |            5 | 商务英语        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 导游            |
        +--------------+-----------------+

---------------------------------------------------------------

上一节用的是xtrabackup 对表进行备份,它的应用场景是单表的数据量大且在备份的过程中还要支持对表的写操作;也就是说在目前的场景下mysqldump 这个简单的

备份工具也是可以满足要求的;


现给出mysqldump 备份的一般步骤

A:创建备份用户

1.
        create user dumper@'127.0.0.1' identified by 'dumper123';
        grant select on *.* to dumper@'127.0.0.1';
        grant show view on *.* to dumper@'127.0.0.1';
        grant lock tables on *.* to dumper@'127.0.0.1';
        grant trigger on *.* to dumper@'127.0.0.1';
       

B:备份tempdb.dict__major表

1.
mysqldump --host=127.0.0.1 --port=3306 --user=dumper --password=dumper123 --quick tempdb dict__major >/tmp/tempdb.dict__major.sql
   

C: 删除已经备份的表

1.
mysql>drop table tempdb.dict__major;

D:还原tempdb.dict__major表

1.
mysql -uroot -pxxxxx -h127.0.0.1 -p3306 tempdb </tmp/tempdb.dict__major.sql     

E:检证还原的有效性

1.
select * from dict__major;

        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 汉语言文学      |
        |            2 | 精算            |
        |            3 | 生物制药        |
        |            4 | 材料化学        |
        |            5 | 商务英语        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 导游            |
        +--------------+-----------------+

以上这篇浅谈mysql 针对单张表的备份与还原就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# mysql备份与还原  # mysql数据库太大了如何备份与还原  # MySQL 数据备份与还原的示例代码  # 史上最简单的MySQL数据备份与还原教程(上)(三十五)  # windows环境下mysql的解压安装及备份和还原  # MySQL备份和还原操作小结  # 汉语言文学  # 给大家  # 的是  # 备份工具  # 节用  # 是在  # 完成后  # 就能  # 会在  # 这一步  # 上一  # 用了  # 希望能  # 这篇  # 量大  # 浅谈  # 数据库中  # 创建一个  # 小编  # 主要目 


相关文章: 小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  建站主机功能解析:服务器选择与快速搭建指南  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  贸易公司网站制作流程,出口贸易网站设计怎么做?  西安专业网站制作公司有哪些,陕西省建行官方网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站之星×万网:智能建站系统+自助建站平台一键生成  文字头像制作网站推荐软件,醒图能自动配文字吗?  建站之家VIP精选网站模板与SEO优化教程整合指南  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  如何选择可靠的免备案建站服务器?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  常州企业建站如何选择最佳模板?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何在云主机快速搭建网站站点?  php json中文编码为null的解决办法  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何在阿里云部署织梦网站?  如何快速生成凡客建站的专业级图册?  如何基于云服务器快速搭建网站及云盘系统?  建站主机核心功能解析:服务器选择与网站搭建流程指南  制作销售网站教学视频,销售网站有哪些?  建站主机是否属于云主机类型?  ui设计制作网站有哪些,手机UI设计网址吗?  建站之星Pro快速搭建教程:模板选择与功能配置指南  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  微信h5制作网站有哪些,免费微信H5页面制作工具?  Python lxml的etree和ElementTree有什么区别  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  广东企业建站网站优化与SEO营销核心策略指南  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  韩国服务器如何优化跨境访问实现高效连接?  宝塔新建站点报错如何解决?  建站主机选哪种环境更利于SEO优化?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  建站主机服务器选型指南与性能优化方案解析  C#怎么创建控制台应用 C# Console App项目创建方法  如何获取PHP WAP自助建站系统源码?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星下载版如何获取与安装?  C++时间戳转换成日期时间的步骤和示例代码  实例解析Array和String方法  个人网站制作流程图片大全,个人网站如何注销?  建站之星导航菜单设置与功能模块配置全攻略  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  移民网站制作流程,怎么看加拿大移民官网?  如何将凡科建站内容保存为本地文件?  代刷网站制作软件,别人代刷火车票靠谱吗?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  宿州网站制作公司兴策,安徽省低保查询网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。