MySQL数据库主从同步搭建(亲测可用)

1、环境准备(两个数据库Master端和Slave端)

Master端(主):192.168.2.30(centos7)

Slave端(从):192.168.2.31(centos7)

2、修改数据库配置文件my.cnf

Master端(主):

在mysqld下添加以下配置:M

server-id=1    
log-bin=master-bin    
log-bin-index=master-bin.index

重启mysql服务:service mysqld restart

Slave端(从):

在mysqld下添加以下配置

server-id=2  
relay-log=slave-relay-bin 
relay-log-index=slave-relay-bin.index

重启mysql服务:service mysqld restart

注意:配置文件中的server-id是本数据库的唯一标识,两个数据库的server-id不能重复

3、开始主从连接

Master端(主):

创建用户,并授予主从访问权限

create user XXX;

grant replication slave on *.* to 'XXX'@'从服务器的ip' identified by '连接时需要的用户密码(自己设置)';

刷新更新权限信息

flush privileges;

进入MySQL执行

show master status;

 执行结果:

Slave端(从):

进入MySQL执行

change master to master_host='master端ip',
master_port=3306,
master_user='XXX', -- 在master端中创建的用户名
master_password='***', -- 在master端中设置的密码
master_log_file='master-bin.000001',-- 在master端中查询到的File字段
master_log_pos=2066 -- 在master端中查询到的Position字段

命令说明:master_host为Master服务器的ip,master_port为Master服务器的端口(默认为3306),XXX为刚刚在Master服务器上设置的user名,***为刚刚设置的密码,master_log_file(ps:可以在master服务器上输入命令:show master status进行查看)

执行下面命令开始同步

start slave;

验证是否成功,执行

show slave status  \G;

如图: 都为yes即为成功

4、可能出现的问题

若Slave_IO_Runing为NO时,问题出在主从数据库连接失败,比如检查服务器防火墙是否开放3306端口等。

若Slave_SQL_Runing为NO时,问题可能出在配置文件或者slave端连接master时连接信息不对,需要重新配置连接master端,需要注意如下:

Salve端

 进入MySQL执行下面sql停止主从同步

stop slave;

执行下面sql重置slave连接

reset slave;

其余步骤只需重复步骤3即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值