MySQL的备份的一些策略和方法的总结

1.一般使用的是mysqldump来进行备份,每次dump的数据是1000条,并且在这个过程中会进行锁表。

(这种方式是逻辑备份,即直接将数据库中的数据导成sql语句进行备份的过程)

主要的使用方法:

(1).不带参数的进行备份:

1 备份test数据库中的所有表数据和表结构
2 mysqldump -uroot -ppassword  test >/tmp/test.sql
3
4 备份test数据库中的某个表数据和表结构
5 mysqldump -uroot -ppassword  test student >/tmp/test_student.sql

(2).使用-B参数进行备份:(在SQL文件中自动创建原有的数据库名和连接数据库)

1 备份test数据库中的所有表数据和表结构
2
3 使用-B会自动的创建数据库并且使用数据库
4
5 mysqldump -uroot -ppassword  -B test >/tmp/test.sql

(3).使用-B参数进行多个数据库的备份:

1  mysqldump --user root --password=myrootpassword -B db_test db_second db_third > db_test.sql  

(4).使用gzip进行压缩数据文件进行备份:(使用管道符将数据传给gzip然后进行压缩数据成gz的包)

1 mysqldump --user root --password=myrootpassword -B db_test db_second db_third |gzip > db_test.sql.gz  

(5).使用shell进行分库备份:

1 mysql -uroot -ppasswd  -e "show databases;" |grep -Eiv "database|information|performance"|sed -r ‘s#^([a-zA-Z_0-9]*$)#mysql -uroot -ppasswd --events -B \1 |gzip> /opt/\1.sql.gz#g‘|bash

上面的命令是将mysql中需要的库进行了分库的备份,这种是在遇到比较多的库的时候,我们可以进行分库的备份。

分库的意义何在:

有时一个企业的数据库中会有多个库,例如(bbs,www,blog),但是出问题的时候很可能往往是一个库,那如果我们将所有库的数据保存到一个文件中去,那么将来恢复数据的时候,可能会带来很大的麻烦,所以我们一般将库进行分库备份。

有的时候我们也需要将某个库中的多个表进行分别编程,思想也是和上面的分库备份一致的。

(6).备份mysql数据库的表结构(不包含数据)

1 mysqldump -uroot -ppassword  -d  test
2
3 参数 -d 的作用就是备份数据库的表结构。

(7).备份mysql的数据库中的数据(不包含表结构)

1 mysqldump -uroot -ppassword  -t  test
2
3 参数 -t 的作用就是备份数据库的表数据(不包含表结构)。

(8).备份的时候切割binlog日志:(进行增量备份的时候可以用到)

1 mysqldump -uroot -ppassword  -t  -B -F test
2
3 参数 -F 的作用就是备份数据库的时候,将binlog日志进行重新刷新。

(9).备份的时候会记录指定文件的位置以及mysqlbinglog的文件名称:

1  mysqldump -uroot -ppassword  -t  -B -F --master-data test
2
3  参数 --master-data=1 的作用就是备份数据库的时候,将binlog日志进行重新刷新。

mysqldump的一些关键参数总结:

1、-B:表示的是指定多个库,增加了建库语句和use数据库的语句。

2、--compact:去掉注释,适合调试输出,不适合在生产环境使用。

3、-A: 表示的是本分所有的库。

4、-F:刷新binlog日志,方便进行增量的恢复。

5、--master-data:增加binlog日志文件名及其对应的位置点。

6、-x,--lock-all-tables :在备份的时候进行锁表,保持数据的一致性。

7、-d:只备份表的结构。

8、--single-transaction  适合innodb数据库的备份。

Innodb表在备份的时候,通常启用选项--single-transaction 来保证备份的一致性,实际上他的工作原理是设定本次备份的会话级别为:repeattable read ,以确保本次会话dump时,不会看到其他的会话提交了数据。

对于不同的引擎,表的备份数据:

MyISAM:

1 mysqldump -uroot -ppassword --flush-privileges -A -B --master-data=2 -x --flush-logs --triggers --routines --events --hex-blob |gzip > /opt/all.sql.gz

InnoDB:

1 mysqldump -uroot -ppassword --flush-privileges -A -B --master-data=2 --single-transaction --flush-logs --triggers --routines --events --hex-blob |gzip > /opt/all.sql.gz

推荐使用InnoDB的备份方式,备份数据。(--triggers 表示的是触发器)

时间: 2024-08-27 18:31:11

MySQL的备份的一些策略和方法的总结的相关文章

mysql的备份: Xtrabackup的使用方法

Xtrabackup: Xtrabackup的优点:1.快速 ,支持并行备份.--parallel=8 2.在线备份备份,不阻塞读写(INNODB),对MYISAM添加全局锁3.支持在线搭建主从复制 Xtrabackup的基本实用方法: -- 全备innobackupex --defaults-file=/etc/my.cnf --user=root  --socket=/var/lib/mysql/mysql.sock --parallel=8 /home/backup/ /home/back

mysql 数据库备份方案及策略

由于mysql存在多种数据库备份方式,而且各有利弊,对于我们初学者来说,选择合适的备份方式确实有些困难.个人觉得,首先要基于公司的需求,考虑能够容忍丢失多少数据.花多少人力时间成本等,这是我们制定备份方案的依据,同时制定出来的方案要可执行,要执行,不能把方案当作纸上谈兵.下面我把我们实际的备份方案整理出来供大家参考交流. 作为数据安全的一个重要内容——数据备份的重要性却往往被人们所忽视.只要发生数据传输.数据存储和数据交换,就有可能产生数据故障.这时,如果没有采取数据备份和数据恢复手段与措施,就

Mysql 数据库备份和还原方法

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到

mysql数据库备份方法总结

今天有点时间,自己总结下mysql备份的几种方法以备查阅! 生产环境中数据无疑是一个公司的命脉,作为一个运维工程师无法保证企业数据的安全,那么是一个不合格的工程师.我们如何保证数据不丢失.或者丢失后快速恢复呢?下面介绍mysql数据库备份和恢复方法. MYSQL基础知识总结 1.为什么需要备份数据? 生成环境中我们的数据库可能会遭遇各种各样的不测导致数据丢失,大概有几种情况(硬件故障.软件故障.自然灾害.黑客攻击.误操作(占比最大))所以,为了在数据丢失后能恢复数据,我们就必须定期备份数据,备份

MYSQL自动备份策略的选择与优劣点分析

目前流行几种备份方式:1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问).可能会阻止修改操作.sql文件通用方便移植.缺点:备份的速度比较慢.如果是数据量很多的时候.就很耗时间.如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据).那么服务就会影响的.

MYSQL自动备份策略的选择与实践

目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问).可能会阻止修改操作.sql文件通用方便移植. 缺点:备份的速度比较慢.如果是数据量很多的时候.就很耗时间.如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据).那么服务就会影响

MYSQL自动备份策略的选择与实践详解

目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式. 优点:最大好处是能够与正在运行的mysql自动协同工作, 在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问).可能会阻止修改操作.sql文件通用方便移植. 缺点:备份的速度比较慢.如果是数据量很多的时候.就很耗时间.如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据).那么服务就会

MYSQL自动备份策略的方案

目前流行几种备份方式: 一.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式. 优点:最大好处是能够与正在运行的mysql自动协同工作, 在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问).可能会阻止修改操作.sql文件通用方便移植. 缺点:备份的速度比较慢.如果是数据量很多的时候.就很耗时间.如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据).那么服务就会

windows mysql 自动备份的几种方法

原文连接:http://www.cnblogs.com/liongis/archive/2013/03/12/2956573.html 基于之前的文章方法,加入批处理命令即可实现自动备份.只是由于批处理命令中对于备份文件的名字按照时间命名比较特别,所以特别整理一文. 1.复制date文件夹备份============================假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbs数据库备份目的地:C:\db_bak\==================