mysql主主复制

环境centos7.6
mysql5.7

两台服务器首先同时安装mysql5.7
1.两台服务器做时间同步
yum -y install ntp ntpdate
ntpdate cn.pool.ntp.org
hwclock --systohc

2.关闭防火墙,关闭SELinux(两个服务器都关)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

3.server1配置
配置文件
vim /etc/my.cnf
[mysqld]
server_id=27
log-bin=mysql-bin

重启服务:
systemctl stop mysql
systemctl start mysql

创建一个用于让从数据库连接的用户
mysql -uroot -ppassword(password就是数据库的密码,但是一般为了安全是mysql -uroot -p回车后再输入密码)
reset master;
create user ‘copy’@‘192.168.2.%’ identified with mysql_native_password by ‘ABC123@com’;
grant replication slave on . to ‘copy’@‘192.168.2.%’;
注:第一个copy是创建的用户名字,192.168.2.%是该用户可以被192.168.2下的所有网段使用,ABC123@com是密码

刷新授权表信息
flush privileges;

获取主节点当前binary log文件名和位置(position)
show master status;
会有File和Position信息

4.server2配置
配置文件
vim /etc/my.cnf
[mysqld]
server_id=66
log-bin=mysql-bin

重启服务:
systemctl stop mysql
systemctl start mysql

创建一个用于让从数据库连接的用户
mysql -uroot -ppassword(password就是数据库的密码,但是一般为了安全是mysql -uroot -p回车后再输入密码)
reset master;
create user ‘copy’@‘192.168.2.%’ identified with mysql_native_password by ‘ABC123@com’;
grant replication slave on . to ‘copy’@‘192.168.2.%’;
注:第一个copy是创建的用户名字,192.168.2.%是该用户可以被192.168.2下的所有网段使用,ABC123@com是密码

刷新授权表信息
flush privileges;

获取主节点当前binary log文件名和位置(position)
show master status;
会有File和Position信息

5.server1
在从(Slave)节点上设置server2节点参数
CHANGE MASTER TO
MASTER_HOST='192.168.2.232,(主数据库ip)
MASTER_USER=‘copy’,(前面设置好的用户名字)
MASTER_PASSWORD=‘ABC123@com’,(密码)
MASTER_LOG_FILE=‘mysql-bin.000001’,(前面的File信息)
MASTER_LOG_POS=825; (前面的Position信息)

start slave;
show slave status\G

6.server2
在从(Slave)节点上设置server1节点参数
CHANGE MASTER TO
MASTER_HOST='192.168.2.138,(主数据库ip)
MASTER_USER=‘copy’,(前面设置好的用户名字)
MASTER_PASSWORD=‘ABC123@com’,(密码)
MASTER_LOG_FILE=‘mysql-bin.00000’,(前面的File信息)
MASTER_LOG_POS=154; (前面的Position信息)

start slave;
show slave status\G


Slave_IO_Running: Yes
Slave_SQL_Running: Yes
时,则配置成功

注:在做的过程中遇到了一个问题
在数据库中进行show master status;操作时
server1和server2的File和Position信息是一样的
在随便一个server中
先关闭MySQL服务
systemctl stop mysqld
然后删除或者移走auto.cnf文件
mv /var/lib/mysql/auto.cnf auto.cnf
最后重启msyql服务
systemctl start mysqld
然后接着做就好了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值