mysql 主从 日志_mysql主从复制配置(日志点)

35a281b908062668967b100c0cd205bb.png

c2e656497e49b173a2e966ce022fb3e9.png

一些mysql版本并不会开启二进制日志,所以一定要检查是否开启。如果一开始没开启,在以后需要开启,则必须重启数据库服务器,而数据库服务器重启会对业务造成很大影响。所以,尽管二进制日志会对性能有稍许影响,所以,无论是否要用复制、备份功能(增量日志也依赖二进制日志),都建议开启

目前mysql支持两种复制类型:

1.二进制日志点

2.GTID(mysql>=5.7推荐使用)

2f58272b41d8a0aeb65f01ce55adfc3c.png

d87cd1c3647780484959f0573577a89a.png

有些配置要重启后才能生效,为了不影响数据库的正常使用,最好在上线之前就配置好,特别是master服务器的配置更应该做为初始参数配置好

8edece07c0cc122b3bca2b8b9fa9994c.png

log_bin:mysql-bin为日志文件前缀(之所以把日志文件和数据文件分开放,是为了提高io性能)

server_id:用来区分不同服务器

33b353c49ecf16d1015ffb0973ed8232.png

log_bin:mysql-bin为日志文件前缀(之所以把日志文件和数据文件分开放,是为了提高io性能)

server_id:用来区分不同服务器

relay_log:slave的中继日志也应该和数据文件分开,以提高io性能

read_only:只读(使所有没有super权限的用户在从服务器上不能执行写操作的,不论这个用户是否具备写权限。这样做的好处是避免误操作写到从服务器上造成主从不一致的问题。但这个参数不能限制具有super权限的用户,比如root帐号。为了解决这个问题,mysql5.7之后引入了super_read_only这个参数将具备super权限的用户也限制了不能在从服务器上做写操作)

skip_slave_start:在slave服务器重启时不会自动启动复制链路(默认情况下mysql在slave重启时会自动启动复制链路,如果存在问题,则主从复制链路会中断。所以正常情况下,我们应该在服务器重启后检查是否存在问题,然后手动启动主从复制链路)

master_info_repository和relay_log_info_repository:把主从服务器的信息存储到innodb表中,默认情况下是存储到文件系统中的,这样如果从服务器出现宕机,则很容易出现文件记录和实际同步信息不同步的情况。而把相关信息存储到表中,可以利用innodb丰富的恢复机制保证记录数据的一致性

在master上建立复制帐号:

46973709306898748cb0f10a4920530c.png

(注意:只设置了该有的权限REPLICATION和SLAVE权限)

初始化slave数据:

69e848d19d6d7af59851d44880af3879.png

启动基于日志点的复制链路:

0167bd01731c16ffefa54e5e53a24560.png

主从复制演示:

主服务器配置:

先看下主服务器的binlog日志是否开启,以及配置好server-id(这里配置为ip的后三位):

9b7ad6b6a22bbf492873847a4d144e5f.png

c88b17af5461d3fcf8cee270a800864f.png

26f4e61d169df7a05fc1d9b3e2533ee2.png

从服务器(slave)配置:

配置server-id和relay_log、master_info_repository、relay_log_info_repository,再加上read_only

c06be9e5e8c11ff01f3b785f096dbc88.png

146910131d9b23c0510b6fee44355031.png

手动将master的server-id改为100(由于未重启master):

886c2ba9e17965de48acca8af49d3a5b.png

slave并没有业务访问,所以是可以重启的:

f71f99dc0e0d992c1b731c63689f0280.png

(如果是mysql5.7及以上版本,还有个问题要注意:增加了个uuid值,默认情况下在data目录下有个auto.cnf文件中,如果用镜像方式安装的mysql服务器,server-uuid应该是一样的,所以需要将auto.cnf删掉,再重启自动生成一个新的uuid值。uuid相同主从复制会出现问题)

在主服务器上建立复制帐号,并授权:

44cf0d932727b820cbff664949246f83.png

(本例中:从服务器全在192.168.3.%网段上)

mysql全备来初始化从服务器的数据:

3f8a4e49af3dba3239b78a51b82485d6.png

e81ff7ab3d54c05b4c1eb7ba021018f2.png

将全备拷贝到从服务器上:

bc553517bd928bb7cf4d97b8efa0ff69.png

69ff8bf381118cd12e650463b94d5822.png

复制链路的配置(从服务器):

1cc1407551908fa468e0b2c00df7f0bd.png

(dba_repl是master创建的主从复制帐号,master_log_file是主服务器的二进制日志文件,master_log_pos是日志点)

查看master服务器的master_log_file和master_log_pos的方式(举例,显示的和本例无关):

4632b7eec27bbed57ea67d2bf2e6516c.png

启动从服务器:

ccdfaa78ece31c6c9e7462aaffe3f6c5.png

检查slave的状态,是否启动:

执行命令show slave status:

78ae736a9973628dfef6a5695f4ee7c7.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值