玩转Linux系统之轻松搭建Mysql主从复制集群

原理

在这里插入图片描述
温馨提示:理论虽有点枯燥,但是对于案例搭建很有帮助。

  1. 更新数据之前,主服务器在二进制日志(Binary log)记录这些改变,存储引擎提交事务。
  2. 存储引擎提交事务给从服务器的I/O线程,将从主服务器的二进制日志(Binary log)中读取事件,并写入中继日志(Relay log)
  3. SQL从线程处理最后一步,将从中继日志读取事件,并重放其中的事件(例如,插入名称是张三的数据,SQL语言结构是,insert语法结构的类型,将SQL语言转换成具体的汉字张三),这样从服务器和主服务器的数据一致。

复制类型

  1. 基于语句的复制。在主服务器上执行的sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制类型(上图,就是基于语句的复制原理)
  2. 基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍
  3. 混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制

案例

在这里插入图片描述

温馨提示:实验环境,关闭防火墙,setenfoce设置为宽容模式,暂不搭建代理服务器,mysql主服务器也是时间同步服务器。

推荐步骤:

(1)主节点上搭建时间同步服务器(centos7默认已安装时间同步服务,只需配置即可)

在/etc/ntp.conf文件中修改下面内容
vim /etc/ntp.conf
在这里插入图片描述
重启mysql服务

systemctl restart ntpd

(2) 从节点上进行时间同步

每台节点从服务器都执行命令:ntpdate 192.168.2.2
如下图显示
在这里插入图片描述

(3)配置mysql主服务器

① 在my.cnf文件中修改下面内容
vim /etc/my.cnf在这里插入图片描述

②重启mysql服务

systemctl restart mysqld

③ 登录mysql,为从服务器授权
在这里插入图片描述
刷新权限
在这里插入图片描述
查看主服务器状态
在这里插入图片描述
(4)配置mysql从服务器

①在my.cnf文件中修改下面内容
vim /etc/my.cnf
在这里插入图片描述
② 重启mysql服务

systemctl restart mysqld

③登录mysql,配置同步
在这里插入图片描述
④ 启动同步
在这里插入图片描述
⑤ 查看slave状态
在这里插入图片描述
(5)验证
①在主、从服务器上登录mysql
mysql -u root -p
②在主服务器上新建数据库名称为对面的美女看过来
mysql> create database 对面的美女看过来;
③在两台从服务器上查看数据库
执行新建数据库,对面的美女看过来命令,显示如下图:
在这里插入图片描述

执行查看数据库命令,显示如下图:
在这里插入图片描述
证明,从服务器复制了主服务器刚创建的数据,主从复制搭建成功!


常见报错

导致Slave_IO不能运行

在这里插入图片描述
分析:
①忘记刷新权限
解决方案:虚拟机环境,只能恢复快照,按照上面步骤做,即便现在刷新,也不行。

②若是克隆的mysql,由于MySQL程序uuid相同,而导致错误状态
解决方案:

  1. 登录mysql通过命令生成一个uuid复制等会用于修改
    在这里插入图片描述
  2. 编辑mysql数据文件目录里面的auto.cnf 文件
    vim /usr/local/mysql/data/auto.cnf
    [auto]
    server-uuid=85dba00a-e0ef-11e9-b341-000c29812345 //粘贴刚才生成的
  3. 重启mysql
    ③段偏移量和主服务器不一致
    注意:这个值是会自动变化的,只要更改配置,刷新,所以要用最新值。
    在这里插入图片描述
    在这里插入图片描述
    解决方案:重新登录mysql,用命令stop slave停止之前的slave,做正确配置。

总之,错误千万种,解决的方法也是可以找到的,我们应该避免两种类型的问题,第一种,复合型问题,解决了单一问题,未达到效果就自暴自弃
第二种,认为恢复快照能解决一切问题,有些时候,服务器的硬件配置不支持,以及虚拟机网卡类型没统一,无论恢复多少次,只是让我们离解决问题越来越远。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Friends of the wind

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值