基于红帽七的mysql详解!!

目录

一、源码安装mysql

二、数据库的主复制

多线程回放

gitd的日志模式

三、mysql的半同步模式

四、mysql高可用之组复制(MGR)

五、mysql路由

六、mysql高可用集群MHA

故障切换

MHA添加VIP


一、源码安装mysql

首先下载myql的安装包之后进行解压,并下载cmake

下载完成后删除缓存文件,并进行环境检测

环境检测完成后用make -j2命令编译,等待时间较长

之后修改启动文件

修改环境变量,改完之后要source应用

复制启动文件

创建文件记录数据库密码

启动数据库

启动完毕后进入安全初始化修改密码

重复上述步骤完成第二台数据库的编译。

二、数据库的主复制

第一台主数据库node1修改配置文件/etc/my.cnf

修改第二台副数据库node2配置文件/etc/my.cnf

在主数据库node1中创建一个用户relp密码为lee

将数据放在这个用户中

查看状态

完成后向数据库中加入信息

切换到从数据库node2中,接入用户并查看状态

完成后能够看到主数据库中的信息

多线程回放

修改mysql-node2的主配置文件

将日志记录在表中不记录在文件里

查看进程

gitd的日志模式

编写node1的主配置文件

设置之后在node3,node2中也添加设置gtid模式

之后重启node1、node2、node3的mysql服务

添加完成后可以看到是自动识别

完成后设置完毕,可以用全局id进行回放。

三、mysql的半同步模式

半同步模式原理

编辑node1的主配置文件

下载插件并查看是否开启

将上述操作在node2和node3中slave中完成。

四、mysql高可用之组复制(MGR)

首先停用所有的mysql删除之前所有的数据

 之后修改主配置文件

修改完成后初始化数据库

完成后启动数据库并修改用户密码

之后对数据库进行配置

配置完成后可以看到效果

对node2和node3也进行同样的上述操作,需要注意的是得有解析文件在/etc/hosts 

主配置文件主要的是这两个地方要修改

最后测试如图所示

五、mysql路由

首先下载安装包

编写主配置文件

编写完成后在node2和node3中创建远程连接的用户并授权

完成后在node1上停用数据库并用命令进入数据库

之后进行测试可以看到node2和node3在轮循

六、mysql高可用集群MHA

首先创建一个ip为192.168.35.50的mha之后将压缩包解压

解压完成后与node1、node2、node3进行免密认证

认证完成后注意解析文件的编写

之后让node1和node2、node3构成一个组从系统,以node1为主,node2和node3为从,详细做法请查看上述。

完成后安装mha的软件包,在node1、node2和node3上都得安装

故障切换

手动切换

#切换过程如下:
[root@mysql-mha masterha]# masterha_master_switch --conf=/etc/masterha/app1.cnf -
-master_state=alive --new_master_host=192.168.84.20 --new_master_port=3306 --
orig_master_is_new_slave --running_updates_limit=10000
#模拟master故障
[root@mysql-node10 mysql]# /etc/init.d/mysqld stop
#在MHA-master中做故障切换
[root@mysql-mha masterha]# masterha_master_switch --master_state=dead --
conf=/etc/masterha/app1.cnf --dead_master_host=192.168.56.12 --
dead_master_port=3306 --new_master_host=192.168.56.11 --new_master_port=3306 --
ignore_last_failover
--ignore_last_failover 表示忽略在/etc/masterha/目录中在切换过程中生成的锁文件

自动切换

[root@mysql-mha masterha]# rm -fr app1.failover.complete #删掉切换锁文件
#监控程序通过指定配置文件监控master状态,当master出问题后自动切换并退出避免重复做故障切换
[root@mysql-mha masterha]# masterha_manager --conf=/etc/masterha/app1.cnf 
[root@mysql-mha masterha]# cat /etc/masterha/manager.log

#恢复故障节点
[root@mysql-node2 mysql]# /etc/init.d/mysqld start
mysql> CHANGE MASTER TO MASTER_HOST='192.168.84.10', MASTER_USER='repl', 
MASTER_PASSWORD='lee', MASTER_AUTO_POSITION=1
清除锁文件
[root@mysql-mha masterha]# rm -rf app1.failover.complete manager.log

MHA添加VIP

#修改脚本在脚本中只需要修改下vip即可
[root@mysql-mha ~]# vim /usr/local/bin/master_ip_failover
my $vip = '192.168.84.100/24';
my $ssh_start_vip = "/sbin/ip addr add $vip dev eth0";
my $ssh_stop_vip = "/sbin/ip addr del $vip dev eth0";
[root@mysql-mha ~]# vim /usr/local/bin/master_ip_online_change
my $vip = '192.168.84.100/24';
my $ssh_start_vip = "/sbin/ip addr add $vip dev eth0";
my $ssh_stop_vip = "/sbin/ip addr del $vip dev eth0";
my $exit_code = 0;
[root@mysql-mha masterha]# masterha_manager --conf=/etc/masterha/app1.cnf & 启动监
控程序
[root@mysql-node10 tmp]# ip a a 192.16.100/24 dev eth0 #在master节点添加VIP
清除锁文件
[root@mysql-mha masterha]# rm -rf app1.failover.complete manager.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值