MYSQL 8 innodb replicaset 怎么自动化部署,与手动切换 (不是innodb cluster)

MYSQL 截止目前高可用的方式主要有传统的复制方式,MGR 也叫innodb cluster , 以及今天要说的 innodb replicatset。

实际上replicatset 就是复制方式的自动化部署以及切换的一个mysql的叫法,如果你要使用首先要把你的MYSQL 提高到 8.019版本以上,同时在安装完mysql后,你还需要安装 mysql shell 否则这个工作就泡汤了。

虽然高版本的 MYSQL 8.026 在安装上有点小问题,相信大部分同学都能解决,这里就不废话,假设你已经安装了两台 myql 8.026 和 mysql -shell的基础上,咱们开始安装 innodb replicatset.

这里先感性在理性,我们先实际操作 这里先准备两台机器,并安装好mysqlshell 与 mysql 8.026

1  通过mysql shell 登陆到mysql中 dba.configureReplicaSetInstance()

在键入命令后,后会给出提示是否进行创建新的用户,这里选择2 创建新的负责replicate 的用户并且给出密码,

abc3216ad1f0539b04f92069aade615a.png

整体的过程,全部为自动化,仅仅给出提示让你选择,修改一些必要的复制需要的参数。

d8f9eacb7c879410d2d3bdb40d0bcddf.png

COMMIT_ORDER   

WRITESET                           

enforce_gtid_consistency               

OFF         

ON            

gtid_mode                             

OFF         

ON            

replica_parallel_type                 

DATABASE    

LOGICAL_CLOCK  

replica_preserve_commit_order         

OFF         

ON            

 server_id                            

1             

<unique ID>    

1  你的账号通过root 来进行远程访问(对 root  账号进行修改)

2  或产生一个新的账号,权限仅仅是为远程访问制作

3  系统中修改了那些值,相关的值已经列到了上面,主要涉及了几个值

    1 commit_order

    2 gtid_mode 

    3 replica_parallel_type

    4 replica_preserve_commit_order 

上面的值是原值,后面的值是修改的值,可以看出来这里将性能作为主要的优化点,如 replica_parallel_type  对影响值进行了修改,同时也对复制中必然要进行的修改进行了操作如server_id

并将配置存在 mysqld-auto.cnf 中持久化存储

95efbfcaaba07b63fb0c5c88d27762a1.png

做完这些MYSQL服务会从起,让配置参数生效

或者你可以在安装服务器时就 建立一个数据库用户,在此时就可以通过新建的用户来进行工作,下面就是直接使用之前建立的数据库账号进行工作

6f3195c6c8f695096419d51911aeb8e9.png

测试建立一个复制集,replicatset, 此时在两个服务器上都进行相同的操作,另外用户rpelicate 的用户名和密码必须一样

bf86823cac391b0b3395d48b85add0c3.png

在主服务器上建立主复制节点

e6b0cc85020f7a3b2b6751200ff72c00.png

通过刚才建立的复制账号对系统进行操作

replica = dba.getReplicaSet()

replica.status()

6c1d5a4b25150a2af8fb0e5e0f8261b0.png

然后在主节点通过命令直接加入另外一个节点作为从节点

57affdbb13f936d78d44ab066757966d.png

根据系统的提示,选择 clone 的方式将主节点的数据推送到从节点

f2440034a7e5abacfc95c8cf0768309d.png

此间如果你DNS 不给力或者没有配置 HOSTS 则Clone 会失败

df563c665d5c0fbf42a1094a10dc2947.png

那我们再次查看系统的复制状态

b970759fe5d0d047ac86af7f2c700217.png

在从库中直接 show slave 从库已经完成正在该工作状态

f056ad67e5975882f240c7eaf590753a.png

当然如果认为mysql shell 仅仅就是代替了手动操作MYSQL的服务器的主从搭建,可就不是了,这里提供了手动的服务器的主从切换。

replica.setPrimaryInstance('192.168.198.201:3306')

3e9fe8c05e0249751538b65a9994792b.png

可以看到主从的切换已经完成了,非常方便

279456ee47fd00826e4e332284b5ebae.png

那么急于高版本的MYSQL 8 的主从复制建立以及切换都比较方便和智能,通过mysql router 可以进行完全替代原有 MYSQL 高可用的方式。

基于上面的简单操作 ,整体MYSQL 在基于PAXOS 协议上的MYSQL INNODB CLUSTER 以外给了另一个传统意义上的复制功能自动化的选择,简化了DBA 复杂的劳动。

511b69debb41c41db3dc29a3f8ac1044.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值