mysql主从复制技术详解

本文详细介绍MySQL主从复制配置步骤,包括主服务器日志开启、用户授权、数据备份及从服务器数据恢复等过程,并列举了配置过程中常见的问题及其解决办法。

M-S
主服务器:master1
第一步:打开bin-log日志,设置如下:
vim /etc/my.cnf
log_bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency=1
第二步:进入数据库授权用户
mysql -uroot -p'密码'
grant replication slave,replication client no . to 'rep'@'域名' identified by '密码';
flush privileges;
查看slave状态是否正常:
show slave status\;
第三步:复制
cd
mysqldump -uroot -p'密码' \
-A \
--single-transaction \
--master-data=2 \
--flush-logs \

./date +%F-all.sql
scp ./-all.sql 域名:/root
从服务器:master2
第一步:回复之前的数据
mysql -uroot -p'密码'
set sql_log_bin=0;
source /root/
all.sql;
第二步:设置主服务器
change master to
master_host='master1',
master_user='rep',
master_password='密码',
master_auto_position=1;
注意;如果设置错误后可以这样处理————>> stop slave; reset slave ; OK以后就可以从新在配置一遍,完好start slave ;即可。
第三步:启动slave;
start slave;
查看状态
show slave status\G;

注意这是接着上一个实验的升级:
如果是做成M-M 的话,只需要把上面主服务器上设置一下从服务器的配置即可
mysql -uroot -p'密码'
change master to
master_host='master2',
master_user='rep',
master_password='密码',
master_auto_position=1;
启动slave;
start slave;
查看状态
show slave status\G;

继续上面的实验环境接着往下完成:
首先去其中任意一个主服务器上备份一个元数据,完好通过scp 分别拷贝到另外两台从服务器上,接下来对从服务器做如下操作:
第一步:关闭selinux 关闭firewalld
第二步:设置/etc/my.cnf中添加
server-id=3
gtid_mode=ON
enforce_gtid_consistency=1
master_info_repository=TABLE
relay_log_info_repository=TABLE
第三步:重启mysqld
S-S
登录mysql
进去第一件事就是 把主服务器上发过来的数据恢复:
set sql_log_bin=0;
source 后面更上要恢复的文件路径及名称;
OK以后,接下来配置它的slave:
change master to
master_host='master1'(这里写主服务器的域名)
master_user='rep'(这里写主服务器上授权的用户名)
master_password='123'(这里写主服务器上授权的密码)
master_auto_position=1 for channel 'master1'(这里的名字可以自定义);
OK以后,如果你有多个主服务器可以在做一次:
change master to
master_host='master2'(这里写主服务器的域名)
master_user='rep'(这里写主服务器上授权的用户名)
master_password='123'(这里写主服务器上授权的密码)
master_auto_position=1 for channel 'master1'(这里的名字可以自定义);

这个技术的常见问题点有如下三点:
/etc/selinux/config 中没有关掉selinux
/etc/my.cnf 中没有打开二进制文件
firewalld没有关掉。
如果另外一台机器是克隆来的话,就是uuid相同的问题,只需要到
/var/lib/mysql/auto.cnf 中把它的uuid 改成与其它机器不同即可.

转载于:https://blog.51cto.com/13575678/2090491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值