Mysql主从备份

一、备份要求
1、两个实例的表结构必须相同
2、两个数据库的版本必须相同
3、存储目录可以不同

二、主从设置
2.1主服务器设置
2.1.1编辑my.cnf,开启log-bin功能
vi /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
2.1.2 创建同步用户
mysql>grant replication slave on . to ‘replicate’@’%’ identified by ‘123456’;
mysql>flush privileges;

2.2 从服务器设置
2.2.1 编辑my.cnf,开启log-bin功能
vi /etc/my.cnf
[mysqld]
server-id=2 #注意这个id不能和主的id一样
log-bin=mysql-bin
relay-log=relay-bin
log-slave-updates=ON
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
read-only=1
2.2.2 配置slave
mysql>CHANGE MASTER TO
MASTER_HOST=‘ip’,
MASTER_USER=‘replicate’,
MASTER_PASSWORD=‘password’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mysql-bin.000001’,
MASTER_LOG_POS=168347593;
2.2.3 手动第一次备份主数据库
mysql>mysql -uroot -ppassword -hip -P3306 -NBe “show databases” | grep -Ev “performance_schema|information_schema|mysql|test” | xargs mysqldump -uroot -ppassword -hip -P3306 --skip-lock-tables --default-character-set=utf8mb4 --single-transaction --master-data=2 -R -E --triggers --ignore-table=xtts.burning --databases > /data/backup.sql &

说明:该方法中的–skip-lock-tables表示不需要锁主库,通过log-bin的映像进行同步,不会影响主库的读写
2.2.4 启动slave
mysql>start slave;
2.2.5 查看slave状态
mysql> show slave status\G
以下状态为yes即可
Slave_IO_Running:Yes
Slave_SQL_Running:Yes

说明:Seconds_Behind_Master主从延迟过高需要关注备库性能
如复制进程异常,查看Last_IO_Error/Last_SQL_Error进行定位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值