mysql主从复制

上次我们我们在同一台电脑上注册了2个mysql服务,今天说下如何进行mysql的主从复制的配置

1、准备阶段

2个mysql服务,我的是基于昨天注册的服务,一个服务端口是3306 mysql的版本:5.7.17 另外一个端口是3307 mysql的版本是:5.7.20

2、配置主服务

打开要做主服务的mysql的配置文件:my.ini 我的是安装版本,my.ini在 C:\ProgramData\MySQL\MySQL Server 5.7

linux 服务的mysql配置文件为:my.cnf 路径为安装路径默认:etc/my.cnf

加入三行代码:

log-bin=mysql-log-bin  // mysql的二进制日志命名 
binlog_format=mixed   //  二进制日志的格式

server-id=3306  // 服务器唯一的id,默认好像是1 我这为了区分用mysql的端口号,建议加上IP地址的后三位)

3、重新启动mysql主服务

4、配置从服务 可以参照上面的第2步,注意 server-id 是唯一的不能与主服务的一致

5、在主服务上创建用户,用户为从服务提供日志用

进入主服务的sql命令界面: .\mysql -uroot -proot   

 执行一下命令:   mysql> create user 'master'@'%' identified by '1';
mysql> grant replication slave on *.* to 'master'@'%' identified by '1';
mysql> flush privileges;

6、查看是否创建成功:

切换到主服务的mysql的schema:use mysql

执行sql查询命令:select user ,host from user;

         

7、查看主服务的bin日志信息 ,这个信息要用于从服务的配置

8、设置从服务

进入从服务的sql命令界面:cmd进入从服务的bin路径执行 .\mysql -uroot -proot   

执行:stop slave; (关闭salve)

执行:mysql> change master to
    -> master_host="192.168.1.127",
    -> master_user="master",
    -> master_password="1",
    -> master_log_file="mysql-log-bin.000001",
    -> master_log_pos=154;

注:master_host  :  设置要连接的主服务器的ip地址
  master_user  :  设置要连接的主服务器的用户名
  master_password  :  设置要连接的主服务器的密码
     master_log_file  :  设置要连接的主服务器的bin日志的日志名称,信息来源第7步
     master_log_pos  :  设置要连接的主服务器的bin日志的记录位置,信息来源第7步,这里不需要加引号

9、启动从服务器

执行命令:mysql> start slave;

10、查看配置情况

执行命令:mysql> show slave status\G;


查看信息:

Slave_IO_Running: Yes  
    Slave_SQL_Running: Yes    


注:我在配置时发现 Slave_IO_Running:No

 查看日志发现: [ERROR] Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs;

 these UUIDs must be different for replication to work. Error_code: 1593

原因分析:
mysql 5.6的复制引入了uuid的概念,各个复制结构中的server_uuid得保证不一样,

但是查看到直接copy  data文件夹后server_uuid是相同的,show variables like '%server_uuid%';

解决方法:
找到data文件夹下的auto.cnf文件,修改里面的uuid值,保证各个db的uuid不一样,重启db即可


---END---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值