mysql备份要注意哪些_【MySQL】【备份】mysqldump使用注意点

mysqldump

主库:

`--master-data` 取值:1或2

在传统复制的情况下:备份时指定` --master-data=1` 会把自身的binlog file和position记录

以change master to

MASTER_LOG_FILE = 'master_log_name',

MASTER_LOG_POS = master_log_pos

的形式记录在备份的SQL文件中,制作新的从时可以直接导入此备份文件,即可将自己与主库进行连接

若指定 `--master-data=2`则会将此语句注释掉,可以用于恢复主库。

**需要**:reload权限,且开启binlog

**注意**:指定此选项后会随之打开`--lock-all-tables`并持续整个备份过程(用于创建一致性备份环境)。

但若同时指定`--single-transaction`,则只会在启动备份时才会加全局锁.

从库:

`--dump-slave` 取值:1或2,取值含义与`--master-data`相同

与上面的`--master-data`类似,同样会生成change master to 语句,但与主库上执行的

show master status得到的 MASTER_LOG_FILE与 MASTER_LOG_POS 不同,从库上是通过

show slave status获得Relay_Master_Log_File和 Exec_Master_Log_Pos这个两个参数值,并将其

作为MASTER_LOG_FILE和MASTER_LOG_POS写入备份文件中

**另** :Relay_Master_Log_File:包含从库的SQL线程最近执行过的事件(event)的主库binlog 文件

Exec_Master_Log_Pos:从库正在使用的主库的binlog文件中,从库SQL线程刚刚执行过的事务

位置。

当从库开启多个slave thread时,每个线程执行的进度可能不同,根据

木桶效应,这个值取各个线程中最旧的位置

**原理上**:使用本参数后,备份倾向于使用主库的事务坐标,而不是使用从库自己本身的事务执行

坐标,而且当本参数与`--master-data`同时使用时,会自动屏蔽掉`--master-data`参数。

但是:

当从库启用GTID复制方式,并开启autoposition后,`--master-data`与`--slave-data`参数都不应继续

使用,应使用GTID作为事务的坐标。直接指定`--single-transaction`即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值