时间:2021-07-01 10:21:17 帮助过:17人阅读
mysql>flushreplication slave;
replication slave:
拥有此权限可以查看从服务器,从主服务器读取二进制日志。
super权限:
允许用户使用修改全局变量的SET语句以及CHANGE MASTER语句
reload权限:
必须拥有reload权限,才可以执行flush [tables | logs | privileges] privileges;
slave:用户名,可以自己本身定义
%:工作环境中,一般写从服务器的ip,或者做了本地解析之后,直接写域名。
#systemctl restart mysqld
从服务器:
修改mysql配置文件:
#vim /etc/my.cnf
[mysqld]
server-id=2
log-bin=slavelog //写不写看需求(双主的时候必须写,使用gtid复制方式必须写)
#systemctl restart mysqld
指定主服务器信息
mysql>help change master to
mysql>CHANGE MASTER TO
MASTER_HOST='master2.example.com', //主服务器ip
MASTER_USER='replication', //主服务器用户
MASTER_PASSWORD='password', //用户密码
MASTER_PORT=3306, //端口
MASTER_LOG_FILE='master2-bin.001', //binlog日志文件名称
MASTER_LOG_POS=4, //日志位置
MASTER_CONNECT_RETRY=10; //如果同步失败的尝试次数
mysql>start slave;
mysql>show slave status\G
同步完成之后,进行测试,如果没有成功,删除从binlog日志,重启服务
但是此方法,需要指定主配置文件的日志名称,日志位置,比较繁琐。
可以采用gtid方式,让其自动寻找同步点:
需要在主从服务器配置文件中开启gtid功能:
主动配置都需要添加:
#vim /etc/my.cnf
gtid_mode=on
enforce_gtid_consistency=1
从服务器只需要以下配置:
mysql>CHANGE MASTER TO
MASTER_HOST='master2.example.com', //主服务器ip
MASTER_USER='replication', //主服务器用户
MASTER_PASSWORD='password', //用户密码
MASTER_PORT=3306, //端口
MASTER_AUTO_POSITION=1
完成以后,进行测试,如果不能同步,删除从服务器的binlog,重启服务。
mysql AB复制 MS复制
标签:start vim 全局 方法 权限 gtid_mode 允许 log server