Linux下MySQL的备份和恢复-创新互联


站在用户的角度思考问题,与客户深入沟通,找到怀宁网站设计与怀宁网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、成都外贸网站建设公司、企业官网、英文网站、手机端网站、网站推广、主机域名、网页空间、企业邮箱。业务覆盖怀宁地区。

MySQL备份的原因

 1. 灾难恢复  2. 审计   3. 测试1234512345

mysql的备份类型

 1. 根据服务器的在线状态:     热备:服务器处于运行状态     冷备:服务器出去停止状态     温备:服务器处于半离线状态,只能读,但是不能写  2. 根据备份的数据集:     完全备份:备份整个数据库     部分备份:备份某个表  3. 根据备份时的接口:     物理备份:直接将数据库文件从磁盘上复制出来     逻辑备份:把数据从数据库中提取出来备份成文本文件  4. 根据数据量进行备份:     完全备份:备份从创建数据库到目前为止的数据     增量备份:备份从上次进行完全备份结束到目前为止的数据     差异备份:1234567891011121314151612345678910111213141516

MySQL备份对象

数据+配置文件+代码(存储过程等)+os相关的配置文件(如crontab配置计划及脚本)11

使用mysqldump工具进行数据备份和恢复

 1. mysqldump命令格式     a.备份多个或者一个数据库     mysqldump [option] --database db_name1 db_name2...     b.备份某个数据库中的某张表     mysqldump [option] db_anme table1 tables2 ...     c.备份全部数据库     mysqldump [option] --alldatabases  2. option     -u user:指定以哪个用户的身份进行备份    -p password:指定用户的密码    -h host:指定备份的数据库     --local-all-tables:请求锁住所有备份的表    --local-tables:备份那张表锁住那张表    --single-transaction:能够对InnoDB存储引擎实现热备。(不常用)     --events:备份事件调度器    --routines:备份存储过程和存储函数    --triggers:备份触发器     --flush-log:备份前,请求到锁之后滚动日志  3. 常用备份格式     mysqldump -uroot -p -h --database|db_name|--all-databases db_name|table --local-tables --flush-log  4. 恢复备份     a.关闭当前session的sql_log_bin     b.mysql

mysqldump备份测试

备份数据库wordpress 库中表的列表 mysql> show tables; +-----------------------+ | Tables_in_wordpress   | +-----------------------+| wp_commentmeta        || wp_comments           || wp_links              || wp_options            || wp_postmeta           || wp_posts              || wp_term_relationships || wp_term_taxonomy      || wp_termmeta           || wp_terms              || wp_usermeta           || wp_users              |+-----------------------+12 rows in set (0.00 sec)1234567891011121314151617181920212212345678910111213141516171819202122
  1. 备份整个数据库
     Linux下MySQL的备份和恢复
     Linux下MySQL的备份和恢复

  2. 还原刚才备份的数据库
     Linux下MySQL的备份和恢复
     Linux下MySQL的备份和恢复

使用xtrabackup工具进行备份

 1. 下载安装xtrabackup      [root@www ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm      [root@www ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64//libev-4.03-3.el6.x86_64.rpm      [root@www ~]# yum install libev-4.03-3.el6.x86_64.rpm       [root@www ~]# yum install --skip-broken percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm   2. 备份后生成的文件    xtrabackup_checkpoints:记录备份类型,备份状态,lsn(日志序列号)等信息。     xtrabackup——binary:备份中用到的xtrabackup的可执行文件    xtrabackup_binlog_info:当前服务器正在使用的二进制日志文件及备份道这一刻的时间位置    xtrabackup_binlog_pos_innodb:二进制文件的但前position     backup_my.cnf:备份命令用到的配置选项信息。12345678910111213141234567891011121314

1. 完全备份和恢复

格式:>innobackupex --user=  --password= --apply-log /path/to/back_dir/结果:completes ok!1212

测试完整备份数据库
 Linux下MySQL的备份和恢复
 Linux下MySQL的备份和恢复
 Linux下MySQL的备份和恢复

测试恢复

格式:     >innobackupex --user= --password= --copy-back /path/to/back_dir/1212

 Linux下MySQL的备份和恢复

创建新文件讲原有数据库全部移到目录下
 Linux下MySQL的备份和恢复
恢复
 Linux下MySQL的备份和恢复
 Linux下MySQL的备份和恢复

增量备份

格式:    #innobackupex --incremental /path/to/back_dir --incremental-basedir=以那个备份文件伪基础 还原:将增量备份整合道完全备份上去     先准备完全备份:        #innobackupex --apply-log --redo-only   完全备份路仅(base-dir)     在准备第一次增量备份:        #innobackupex --apply-log --redo-only  base-dir --incremental-dir=one_base_dir     在准备第二次增量备份:        #innobackupex --apply-log --redo-only  base-dir --incremental-dir=two_base_dir        ..         ..      。 恢复:    >innobackupex --copy-back base-dir12345678910111213141234567891011121314

a.第一次完整备份
 Linux下MySQL的备份和恢复

操作数据库增加数据
 Linux下MySQL的备份和恢复

第一次增量备份
 Linux下MySQL的备份和恢复
 Linux下MySQL的备份和恢复

准备完全备份
 Linux下MySQL的备份和恢复

准备第一次增量备份文件
 Linux下MySQL的备份和恢复

恢复
 Linux下MySQL的备份和恢复

结果
 Linux下MySQL的备份和恢复
 Linux下MySQL的备份和恢复

xtrabackup进行表的导入和导出

在进行表的导出时,需要启用服务器的innodb_file_per_table这个选项。 在进行表的导入时,需有启用服务器的innodb_file_per_table和innodb_expand_import选项 导出表     innobackupex --apply-log --export /path/base_dir     此命令会为每个innodb表空间创建一个.exp结尾的文件,这个文件可以导入其他服务器 导入表:     1,在服务器上创建一个与此结构相同的表。     2,然后删除此表的表空间:        alter table 表 discard tablespace;    3,将.exp文件复制到数据库服务器的数据目录中,然后进行一下命令:        alter table 表 import tablespace;

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Linux下MySQL的备份和恢复-创新互联
链接地址:http://pwwzsj.com/article/gpses.html