Mysql集群部署

本文介绍了MySQL集群部署的架构思想,包括一主多从和多主多从的部署方式,以及详细的数据恢复过程。重点讲解了如何配置主从关系,包括在主机上授权从机、锁定数据库和查看主机状态,在从机上关联主机并启动复制。最后,提到了解决主从不同步问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、架构思想
Mysql集群部署是为了数据库的高可用性,如果一台数据库服务器出了故障无法运行,还有其他台可以继续使用,当出故障的那一台服务器恢复之后,数据又可以继续恢复同步。
而且可以读写分离,主机一般为写数据,从机为读数据。
部署架构一般有:一主多从、多主多从。

(一主多从:一个主写库A多个从库,当主库A故障时,提升从库B为主写库,同时修改C、D库为B的从库。A故障修复后,作为B的从库。)

(多主多从:一个主机故障之后,还有另一套主机可以运行。等故障恢复之后,数据都会进行同步。)
数据恢复过程:

二、主从关系配置
1、配置/etc/my.cnf文件
如果之前安装mysql的时候清理了该文件,可以用命令:
vim /etc/my.cnf
输入下面的内容:
[mysqld]
log-bin=mysql-bin
server-id=102
配置好了之后,才会在之后产生相应的mysql-bin的日志文件

2、在主机上配置从机
在主机上,登录mysql数据库之后,输入下面的语句:
mysql>grant replication slave on . to ‘slave’@‘%’ identified by ‘123’;
说明:
slave是创建的从机的mysql用户名。
@后面可以输入 IP地址,如果输入的是IP地址,证明该主机就只有一个从。如果输入的是%证明可以配置多个从机。
123:就是从机的mysql密码。
执行完毕之后,就是 在主机上授权了一个“奴隶”名叫 slave 密码是123
注:如果是指定了IP地址,就是指定IP地址的那台机器 与 这台主机产生了联系。如果没有指定,登录了哪个机子进行了认证主机的操作,哪个机子就是该主机的从机。
flush tables with read lock;
该语句的目的是为了锁定数据库,此时不允许更改任何数据。确保主从数据保持一致。

执行完毕之后,会查看一下主机的状态,使用下面的语句:
show master status;
如果没有出现主机状态的时候,就重启一下mysql服务,然后再查看即可。

此时可以看到产生了一个 mysql-bin.000001的文件,该文件就是主机二进制日志文件,还有偏移量是 154。这些信息需要记录起来,用于下面配置从机。
如果想重置主机的状态,用:
reset master;
然后再 执行查看主机状态的语句。

3、在从机上面关联主机
从机上面的/etc/profile 文件也需要进行配置,
[mysqld]
server-id=103
这个server-id不与主机设置的相同即可。

然后登陆从机的mysql,执行下面语句:
change master to master_host=‘192.168.228.133’,master_port=3306,master_user=‘slave’,master_password=‘123’,master_log_file=‘mysql-bin.000001’,master_log_pos=154;
第一个是主机IP。
第二个是主机端口号。
第三个是主机用户名。
第四个是主机密码。
第五个是主机二进制文件名。(与主机上面一致即可)
第六个是主机偏移量位置。(与主机上面一致即可)

打开从机,语句:
start slave;
执行完毕之后,可以查看从机状态:
show slave status \G;

看到这个的时候 证明从机已经连接成功,并且语句已经可以执行。
如果Slave_IO_Running:No是这样的时候,证明从机连不上主机,可能是主机的3306的端口没开放,需要在主机上操作开放3306端口:
1、防火墙开启开启
开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
2、重启防火墙
firewall-cmd --reload
3、查看已经开放的端口:
firewall-cmd --list-ports

以上步骤,就可以配置好了 一个主机对应一个从机。
接下来可以通过创建表 创建表数据,测试主从同步情况。
这个是我在主机中创建了一个库 一个表,往表里面插入了一条语句:

从机查询一下:

目前主从数据已经保持了同步。

注意:
如果发生主从不同步的情况,先重启主从的mysql服务,然后用reset命令 主从都进行重置,重置到主机的 日志文件以及偏移量 都与之前从机配置的一致时,再启动从机的slave。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值