MySQL中备份的几种方式
前言:
并不是每家公司都高大上,并不是每家公司都会用一些很前沿的技术来做备份这一块,有些企业或者有些行业或者团队本身由于各方面的原因使用简单或者复杂的方式来做备份这块,这次这个文档算是对以前工作的总结,看一下各种备份方式中的优缺点
1 mysqldump
常用的备份参数
-R --events --triggers=true --single-transaction --master-data=2 |
-R(--routines): 导出存储过程以及自定义函数
--events: 导出事件
--triggers=true:导出触发器.默认开启,用--skip-triggers禁用
--single-transaction:该选项在导出数据之前提交一个BEGIN SQL 语句,BEGIN不会阻塞任何应用程序且能保证到处时数据库的一致性状态,跟--lock-tables是互斥的.因为lock tables会使任何挂起的事务隐含提交
--master-data=2: 该选项将binlog的位置和文件名追加到输出文件中,如果是1 将会输出CHANGE MASTER命令,如果为2,输出的CHANGE MASTER 命令钱添加注释信息。该选项将打开--lock-all-tables选,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间),该选项自动关闭--lock-tables选项
# /opt/app/mysql/bin/mysqldump -uroot -p -R --events --triggers=true --single-transaction --master-data=2 sakila > sakila.sql |
2 数据目录拷贝----此略
3 基于xtarbackup的备份
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm yum -y install percona-xtrabackup 安装后的软件包有 [root@MASTER_03 bin]# rpm -ql percona-xtrabackup /usr/bin/innobackupex /usr/bin/xbcloud /usr/bin/xbcloud_osenv /usr/bin/xbcrypt /usr/bin/xbstream /usr/bin/xtrabackup /usr/share/doc/percona-xtrabackup-2.3.3 /usr/share/doc/percona-xtrabackup-2.3.3/COPYING /usr/share/man/man1/innobackupex.1.gz /usr/share/man/man1/xbcrypt.1.gz /usr/share/man/man1/xbstream.1.gz /usr/share/man/man1/xtrabackup.1.gz |
具体用法
1 创建备份用户
mysql> grant reload,lock tables,replication client on *.* to 'dbbak'@'localhost' identified by 'bk2016' ;
mysql> flush privileges;
进行数据库全备
mkdir -pv /data/dbbak
cd /data/dbbak
使用以下参数进行全库备份
[root@MASTER_03 dbbak]# innobackupex |
会在dbbak目录下生成一个以时间戳为准的目录
2016-02-03_15-48-02
在这个目录下有一个文件
[root@MASTER_03 dbbak]# cat backup_type = full-backuped from_lsn = 0 to_lsn = 1095181486 last_lsn = 1095181486 compact = 0 recover_binlog_info = 0 |
增量备份
创建一个库中建立一个表(建表才会导致LSN号变化)
[root@MASTER_03 dbbak]# innobackupex |
生成一个新目录
2016-02-03_16-01-28
对比这个checkpoint
[root@MASTER_03 dbbak]# cat backup_type = incremental from_lsn = 1095181486 to_lsn = 1095181486 last_lsn = 1095181486 compact = 0 recover_binlog_info = 0 |
4 MySQL企业级的备份mysqlbakcup
mysqlbackup
--user=dba --password --port=3306 --with-timestamp --backup-dir=/export/backups backup
5基于LVM的快照备份---略
最新文章
- vnc远程运行3D游戏
- APP切图标记PS的外挂神器-Assistor PS(转)
- Xcode开发工具问题
- 1927: [Sdoi2010]星际竞速
- C#一个方法返回多个值
- 项目中用到的SQL-总结
- 固定分隔符字符串与数组互转及ArrayList与数组(Array)互转
- 10个利用Eclipse调试Java的常见技巧
- JQuery动态增加删除元素
- windows中copy命令详解
- Docker -- 安全/部分命令/Daemon
- 第九章:Python の 网络编程基础(一)
- C/C++ 函数指针
- TransactionScope事务处理方法介绍及.NET Core中的注意事项
- Pandas基础知识(二)
- [HDFS_add_3] HDFS 机架感知
- Linux 内核引导选项简介
- Java-函数式编程(一)初识篇
- 算法笔记_231:网格中移动字母(Java)
- set_new_handler
热门文章
- Android - 返回上一个界面finish()方法
- 开源管理系统OSSIM设置 语言为中文简体
- 一次httpserver优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)
- 60. Search Insert Position 【easy】
- awk overview
- SpringBoot支持https和http
- python 旧类中使用property特性的方法
- tuple 元组
- wp8 各种启动器
- [Android]ListView &; ViewPager &; GridView 常见问题解决方法