Linux下MySQL的备份和恢复
2017-07-19 16:08
651 查看
MySQL备份的原因
MySQL的备份类型
MySQL备份对象
使用mysqldump工具进行数据备份和恢复
mysqldump备份测试
备份整个数据库
还原刚才备份的数据库
使用xtrabackup工具进行备份
1. 完全备份和恢复
测试完整备份数据库
测试恢复
创建新文件讲原有数据库全部移到目录下
恢复
增量备
dedb
份
a.第一次完整备份
操作数据库增加数据
第一次增量备份
准备完全备份
准备第一次增量备份文件
恢复
结果
xtrabackup进行表的导入和导出
1. 灾难恢复 2. 审计 3. 测试
MySQL的备份类型
1. 根据服务器的在线状态: 热备:服务器处于运行状态 冷备:服务器出去停止状态 温备:服务器处于半离线状态,只能读,但是不能写 2. 根据备份的数据集: 完全备份:备份整个数据库 部分备份:备份某个表 3. 根据备份时的接口: 物理备份:直接将数据库文件从磁盘上复制出来 逻辑备份:把数据从数据库中提取出来备份成文本文件 4. 根据数据量进行备份: 完全备份:备份从创建数据库到目前为止的数据 增量备份:备份从上次进行完全备份结束到目前为止的数据 差异备份:
MySQL备份对象
数据+配置文件+代码(存储过程等)+os相关的配置文件(如crontab配置计划及脚本)
使用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<source /path/*.sql c.开启二进制文件日志
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)
备份整个数据库
还原刚才备份的数据库
使用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:备份命令用到的配置选项信息。
1. 完全备份和恢复
格式:>innobackupex --user= --password= --apply-log /path/to/back_dir/ 结果:completes ok!
测试完整备份数据库
测试恢复
格式: >innobackupex --user= --password= --copy-back /path/to/back_dir/
创建新文件讲原有数据库全部移到目录下
恢复
增量备
dedb
份
格式: #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-dir
a.第一次完整备份
操作数据库增加数据
第一次增量备份
准备完全备份
准备第一次增量备份文件
恢复
结果
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;
相关文章推荐
- Linux下mysql定时备份及恢复
- Linux下mysql备份 恢复
- 在win7和Linux环境,使用mysql进行数据库的备份和恢复
- Linux下mysql备份 恢复
- Linux下mysql备份 恢复
- linux系统下MYSQL备份与恢复
- Linux下mysql备份 恢复
- 北京Linux学习培训机构:MySQL的备份和恢复
- linux下MYSQL备份与恢复
- Linux下mysql备份 恢复
- Linux运维学习笔记之二十:MySQL备份和恢复基础
- linux mysql自动备份 和 数据恢复
- linux备份mysql数据库与恢复mysql备份数据
- linux下MYSQL备份与恢复
- Linux下实现MySQL数据备份和恢复的命令使用全攻略
- Linux下实现MySQL数据备份和恢复的命令使用全攻略
- Linux下mysql的备份和恢复
- linux下mysql数据备份 恢复
- Linux下mysql备份 恢复
- Linux下mysql备份 恢复