加入收藏 | 设为首页 | 会员中心 | 我要投稿 武陵站长网 (https://www.50888.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql数据库双机热备难点分析

发布时间:2022-03-02 14:14:35 所属栏目:MySql教程 来源:互联网
导读:小编在以前给大家介绍过关于Mysql 数据库双机热备的配置方法有兴趣的朋友参考一下,本节我们重点对其中的重要环节和需要注意的地方做了总结和分析。 一:介绍 mysql版本:5.7.20 第一个主服服务器ip:192.168.71.139 第二个主服服务器ip:192.168.71.141 二:
      小编在以前给大家介绍过关于Mysql 数据库双机热备的配置方法有兴趣的朋友参考一下,本节我们重点对其中的重要环节和需要注意的地方做了总结和分析。
一:介绍
 
      mysql版本:5.7.20
 
      第一个主服服务器ip:192.168.71.139
 
      第二个主服服务器ip:192.168.71.141
 
二:配置
 
第一台主服务器192.168.71.139
 
1:修改/etc/mysql/my.cnf 文件,注意这里的#是注释,不要写到配置文件中
 
server-id = 141                                                    #服务器id,不能重复,建议用ip后三位。
log-bin = mysql-bin
binlog-ignore-db = mysql,information_schema    #忽略写入binlog日志的库
auto-increment-increment = 2                             #字段变化增量值
auto-increment-offset = 1                                    #初始字段ID为1
slave-skip-errors = all                                          #忽略所有复制产生的错误
 
2:登陆mysql,创建允许其它服务器复制的账号
 
GRANT REPLICATION SLAVE ON *.* to 'mysql账号'@'%' identified by '密码';
 
3:使用show master status查询状态
 
Mysql数据库双机热备难点分析
 
第二台主服务器192.168.71.139
 
1:修改/etc/mysql/my.cnf 文件,此处的server-id = 139,其它不变。
 
使用show master status查询状态
  
此时,需要重新启动两台服务器的mysql  
 
在192.168.71.141执行同步语句
 
master_log_file 值来源于139服务器,执行show master status后的 File字段
 
master_log_file 值来源于139服务器,执行show master status后的 Position字段
change master to master_host='192.168.71.139',master_user='master2',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=154;
在192.168.71.139执行同步语句
 
master_log_file 值来源于141服务器,执行show master status后的 File字段
 
master_log_file 值来源于141服务器,执行show master status后的 Position字段
 
change master to master_host='192.168.71.141',master_user='master1',master_password='123456',master_log_file='mysql-bin.000002', master_log_pos=154;
到此为此配置结束,重启mysql,登陆mysql,使用show slave statusG检查配置状态,发现Slave_IO无法启动,出现如下错误
 
The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
通过日志发现,master和slave的uuids重复了,因为这两台服务器是克隆的,所以需要修改/var/lib/mysql/auto.cnf
  
这里修改我只修改最后一个字母,因为修改多了,我mysql都无法启动。修改完成,重新启动mysql,再登陆mysql并执行show slave statusG

 三:测试
 
在任意一台服务器执行如下sql
 
create table tab141(id int primary key);
 
create table tab139(id int primary key);
 
在139服务器执行如下sql
 
insert into tab139 values(1);
在141服务器执行如下sql
 
insert into tab141 values(2);
 
如果大家还有任何不明白的地方欢迎在下方的留言区域讨论。

(编辑:武陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读