centos:mysql主从同步配置(2018)
https://blog.csdn.net/liubo_2016/article/details/82379115
主服务器:10.1.1.144;
从服务器:10.1.1.163;
配置过程
1.进入主服务器,停止主服务mysql服务: systemctl stop mysqld;
主节点编辑配置文件
vim /etc/my.cnf
添加如下配置:
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
注: 多台节点的server-id必须不同,否则会出现异常。
重启数据库,使得配置生效:
然后启动mysql服务:
systemctl start mysqld;
2. 进入主节点mysql,创建用户:
create user 'ygw_slave'@'10.1.1.163' identified by 'ygW_2018';
注:ip即允许连接的ip地址,安全起见可以写slave从节点的ip(10.1.1.163),或者直接写%代表所有ip均可以连接。
3. 对用户进行权限设置:
格式:grant replication slave on *.* to 'username'@'ip';
操作:grant replication slave on *.* to 'ygw_slave'@'10.1.1.163';
注: 表示从ip使用username连接过来的请求,允许复制。所以,ip为从节点的ip,username为上面创建的username
使配置生效:
flush privileges;
4. 进入从节点服务器,停止mysql服务: systemctl stop mysqld;
从节点slave编辑配置文件
vim /etc/my.cnf 添加如下配置:
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin
重启mysql服务,使配置生效:
service mysqld restart
5. 从节点mysql进行配置:
change master to
master_host='10.1.1.144',
master_user='ygw_slave',
master_password='ygW_2018',
master_log_file='mysql-bin.000007',
master_log_pos=325928;
注: master_host是主节点的ip地址,master_user 和master_password是前面步骤2主服务器创建的用于连接主服务器的帐号和密码,master_log_file和master_log_pos需要从master节点,进入Mysql数据库后进行查询,命令如下:
进入主服务器登录 mysql: mysql -uroot -p ,输入密码后进入mysql,输入如下指令:
show master STATUS;
6. 在从节点上启动主从复制
start slave;
如需要关闭,使用如下命令:
stop slave;
查看从节点状态:
show slave status \G;
如果没有异常信息,则说明启动成功。
7.如果步骤6报错,:
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
意思是:salve复制线程停止,尝试start slave 时报ERROR 1872错误
解决办法:先执行reset slave all;然后再重新执行步骤5,6即可;
查看从节点状态:
show slave status \G; 完美!
---------------------
作者:离别
来源:CSDN
原文:https://blog.csdn.net/liubo_2016/article/details/82379115
版权声明:本文为博主原创文章,转载请附上博文链接!