mysql(十)

2019-12-10  本文已影响0人  Freestyle_0f85

MySQL 备份

1.做备份就是为了恢复

2.第一个是保护公司的数据

3.尽量减少数据的丢失(公司的损失)

备份类型

1.冷备

停服务,做备份

2.温备

(不停服务)在备份的过程中,会锁表,用户无法往表中写入数据

3.热备

(不停服务)在备份过程中,不会锁表,用户随意写数据

备份策略

1.全量备份

将所有的数据,做备份

2.增量备份

基于上一次数据备份的,新数据备份

3.差异备份

基于全备数据的,新数据备份

备份工具

1.逻辑备份

1.mysqlbinlog
2.mysqldump
3.into outfile(导出数据结果)
4.binlog(备份SQL语句,DML,DCL,DDL,DTL)
5.replication(主从复制-延时从库)

2.物理备份

1.cp /application/mysql/data
2.Xtrabackup

MySQL逻辑备份-mysqldump

mysqldump 
-u:指定用户
-p:指定密码
-h:指定主机域
-S:指定socket文件
-P:指定端口

1.全备参数:-A

[root@db02 ~]# mysqldump -A > /tmp/full.sql

2.指定库备份:-B(指定多个库)

[root@db02 ~]# mysqldump -B zls1 > /tmp/zls1.sql
#多了一条建库语句,use语句
mysql < /tmp/zls1.sql

3.什么都不加:备份库中的表

[root@db02 ~]# mysqldump zls1 > /tmp/zls1_1.sql

mysql> create database zls1;
mysql> use zls1; source /tmp/zls1_1.sql

mysql zls1 < /tmp/zls1_1.sql

4.备份时,刷新binlog:-F

[root@db01 ~]# mysqldump -A -F > /tmp/full_F.sql

[root@db01 ~]# mysqldump -B mysql zls  -F > /tmp/full_F.sql

5.打点备份:--master-data=2

#=2是注释
[root@db02 ~]# mysqldump -A --master-data=2 > /tmp/full1.sql

#=1 不注释
[root@db02 ~]# mysqldump -A --master-data=1 > /tmp/full1.sql

#=0 关闭
[root@db02 ~]# mysqldump -A --master-data=0 > /tmp/full1.sql

6.热备参数:--single-transaction(快照备份)

[root@db02 ~]# mysqldump -A --master-data=2 --single-transaction > /tmp/full2.sql

7.-R(备份函数,存储过程),--triggers

[root@db02 ~]# mysqldump -A -R --triggers --master-data=2 --single-transaction > /tmp/full2.sql

8.压缩备份:gzip

[root@db02 ~]# mysqldump -A -R --triggers --master-data=2 --single-transaction > /tmp/full2.sql


zcat /tmp/full_2019-12-10.sql.gz | mysql -uroot -p123
start-position 
上一篇下一篇

猜你喜欢

热点阅读