|
@@ -1,18 +1,17 @@
|
|
-```
|
|
|
|
第一种是keepalived方式
|
|
第一种是keepalived方式
|
|
第二种是nginx方式
|
|
第二种是nginx方式
|
|
|
|
|
|
一、介绍
|
|
一、介绍
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+```
|
|
MySQL双主双活是指两台mysql服务器mysql-1、mysql-2都为master主节点服务器,同时又是对方的slave从节点,每个数据库都可作为主数据库使用,并将对数据库操作的数据同步至另外一台mysql服务中。
|
|
MySQL双主双活是指两台mysql服务器mysql-1、mysql-2都为master主节点服务器,同时又是对方的slave从节点,每个数据库都可作为主数据库使用,并将对数据库操作的数据同步至另外一台mysql服务中。
|
|
当应用服务开发过程中使用了mysql-1连接信息,在打包发布后,数据库连接信息已经固定,当数据库mysql-1出现异常时,需要人工干预先将应用服务停止-->将应用服务的mysql连接信息改为mysql-2 -->在启动应用服务器,比较繁琐,当应用服务器较多时,一个一个关闭,修改,再重启,将耽误更多时间,应用服务器修复故障时间延长,严重时会造成灾难性的后果。
|
|
当应用服务开发过程中使用了mysql-1连接信息,在打包发布后,数据库连接信息已经固定,当数据库mysql-1出现异常时,需要人工干预先将应用服务停止-->将应用服务的mysql连接信息改为mysql-2 -->在启动应用服务器,比较繁琐,当应用服务器较多时,一个一个关闭,修改,再重启,将耽误更多时间,应用服务器修复故障时间延长,严重时会造成灾难性的后果。
|
|
故而引入了keepalived,keepalived通过VIP虚拟IP的漂移实现高可用,在相同集群内发送组播包,master主通过VRRP协议发送组播包,告诉从主的状态。
|
|
故而引入了keepalived,keepalived通过VIP虚拟IP的漂移实现高可用,在相同集群内发送组播包,master主通过VRRP协议发送组播包,告诉从主的状态。
|
|
当我们通过keepalived虚拟出一个ip服务 mysql-3,应用服务只需要将mysql配置信息更改为mysql-3的配置信息,mysql-3实际代理的实体服务器为mysql-1或mysql-2。
|
|
当我们通过keepalived虚拟出一个ip服务 mysql-3,应用服务只需要将mysql配置信息更改为mysql-3的配置信息,mysql-3实际代理的实体服务器为mysql-1或mysql-2。
|
|
例如:当mysql-3实际代理mysql-1时,mysql-1服务出现故障后,keepalived通过自身机制,自动将mysql-2作为实际代理主服务器,不需要人工干预去修改mysql配置信息,从而实现了高可用。
|
|
例如:当mysql-3实际代理mysql-1时,mysql-1服务出现故障后,keepalived通过自身机制,自动将mysql-2作为实际代理主服务器,不需要人工干预去修改mysql配置信息,从而实现了高可用。
|
|
|
|
+```
|
|
|
|
|
|
二、准备工作
|
|
二、准备工作
|
|
|
|
+```
|
|
1.两台centos7 linux服务器
|
|
1.两台centos7 linux服务器
|
|
mysql-1:192.168.222.128
|
|
mysql-1:192.168.222.128
|
|
mysql-2:192.168.222.129
|
|
mysql-2:192.168.222.129
|
|
@@ -22,8 +21,10 @@
|
|
3.keepalived安装包
|
|
3.keepalived安装包
|
|
版本:keepalived-2.2.7.tar.gz
|
|
版本:keepalived-2.2.7.tar.gz
|
|
下载地址:https://www.keepalived.org/software/keepalived-2.2.7.tar.gz
|
|
下载地址:https://www.keepalived.org/software/keepalived-2.2.7.tar.gz
|
|
|
|
+```
|
|
|
|
|
|
三、安装mysql
|
|
三、安装mysql
|
|
|
|
+```
|
|
1.在128、129两台服务器根据《linux安装mysql服务-两种安装方式教程》安装好mysql应用。
|
|
1.在128、129两台服务器根据《linux安装mysql服务-两种安装方式教程》安装好mysql应用。
|
|
2.修改128服务器/etc/my.cnf配置文件,没有的话可自行创建,配置如下:
|
|
2.修改128服务器/etc/my.cnf配置文件,没有的话可自行创建,配置如下:
|
|
|
|
|
|
@@ -119,7 +120,10 @@ character-set-server=utf8
|
|
5.重启mysql服务
|
|
5.重启mysql服务
|
|
[root@128 mysql5.7]# systemctl stop mysqld
|
|
[root@128 mysql5.7]# systemctl stop mysqld
|
|
[root@128 mysql5.7]# systemctl start mysqld
|
|
[root@128 mysql5.7]# systemctl start mysqld
|
|
|
|
+```
|
|
|
|
+
|
|
四、mysql数据库双主双从配置
|
|
四、mysql数据库双主双从配置
|
|
|
|
+```
|
|
1.连接128服务器mysql,并创建主从同步账户slavebak,并查看master状态,记录下file、psition值,配置129mysql从库时使用
|
|
1.连接128服务器mysql,并创建主从同步账户slavebak,并查看master状态,记录下file、psition值,配置129mysql从库时使用
|
|
[root@128 ~]# /opt/mysql5.7/bin/mysql -uroot -proot
|
|
[root@128 ~]# /opt/mysql5.7/bin/mysql -uroot -proot
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
@@ -202,8 +206,10 @@ Slave_SQL_Running: Yes #此值为yes配置i成功
|
|
......
|
|
......
|
|
1 row in set (0.01 sec)
|
|
1 row in set (0.01 sec)
|
|
至此,128服务器,129服务器双主双从配置完成
|
|
至此,128服务器,129服务器双主双从配置完成
|
|
|
|
+```
|
|
|
|
|
|
五、MySQL双主双从测试
|
|
五、MySQL双主双从测试
|
|
|
|
+```
|
|
1.连接128服务器,使用root用户连接本机mysql,并创建test_db数据库,t_test表,并插入一条数据id=1,name='zhangsan'
|
|
1.连接128服务器,使用root用户连接本机mysql,并创建test_db数据库,t_test表,并插入一条数据id=1,name='zhangsan'
|
|
[root@128 ~]# /opt/mysql5.7/bin/mysql -uroot -proot
|
|
[root@128 ~]# /opt/mysql5.7/bin/mysql -uroot -proot
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
@@ -270,8 +276,10 @@ mysql> select * from t_test;
|
|
+----+----------+
|
|
+----+----------+
|
|
1 rows in set (0.00 sec)
|
|
1 rows in set (0.00 sec)
|
|
至此,数据库双主双从测试完成。
|
|
至此,数据库双主双从测试完成。
|
|
|
|
+```
|
|
|
|
|
|
六、keepalived安装
|
|
六、keepalived安装
|
|
|
|
+```
|
|
128、129两台服务器安装步骤相同,配置文件不同,下面有介绍。
|
|
128、129两台服务器安装步骤相同,配置文件不同,下面有介绍。
|
|
1.安装相关依赖包,并下载keepalived安装包,解压,配置,编译
|
|
1.安装相关依赖包,并下载keepalived安装包,解压,配置,编译
|
|
[root@128 ~]# cd /opt
|
|
[root@128 ~]# cd /opt
|
|
@@ -432,7 +440,10 @@ virtual_server 192.168.222.130 3306 {
|
|
|
|
|
|
|
|
|
|
至此,keepalived部署完成。
|
|
至此,keepalived部署完成。
|
|
|
|
+```
|
|
|
|
+
|
|
七、mysql双主双活+keepalived高可用整体测试
|
|
七、mysql双主双活+keepalived高可用整体测试
|
|
|
|
+```
|
|
1.首先将128、129两台服务器mysql、keepalived应用全部启动,然后用mysql连接工具连接keepalived虚拟出来的192.168.222.130服务器
|
|
1.首先将128、129两台服务器mysql、keepalived应用全部启动,然后用mysql连接工具连接keepalived虚拟出来的192.168.222.130服务器
|
|
|
|
|
|
|
|
|
|
@@ -462,9 +473,11 @@ virtual_server 192.168.222.130 3306 {
|
|
#例如:
|
|
#例如:
|
|
[root@128 keepalived-2.2.7]# tcpdump -i eno16777736 vrrp -n |grep 51
|
|
[root@128 keepalived-2.2.7]# tcpdump -i eno16777736 vrrp -n |grep 51
|
|
至此,mysql双主双活+keepalived高可用部署并测试完成。
|
|
至此,mysql双主双活+keepalived高可用部署并测试完成。
|
|
|
|
+```
|
|
|
|
|
|
|
|
|
|
-8、mysql是数据库双主双活配置与上面相同,不同的为配置高可用第六步
|
|
|
|
|
|
+八、mysql是数据库双主双活配置与上面相同,不同的为配置高可用第六步
|
|
|
|
+```
|
|
nginx配置mysql数据库的高可用
|
|
nginx配置mysql数据库的高可用
|
|
在配置Nginx作为MySQL数据库的高可用解决方案时,通常我们会采用一些策略来确保MySQL数据库服务的持续性和可用性。这里我将介绍几种常见的策略,包括使用Nginx作为负载均衡器、配置MySQL主从复制、以及使用Nginx的代理缓存功能。
|
|
在配置Nginx作为MySQL数据库的高可用解决方案时,通常我们会采用一些策略来确保MySQL数据库服务的持续性和可用性。这里我将介绍几种常见的策略,包括使用Nginx作为负载均衡器、配置MySQL主从复制、以及使用Nginx的代理缓存功能。
|
|
1. 使用Nginx作为负载均衡器
|
|
1. 使用Nginx作为负载均衡器
|
|
@@ -564,10 +577,12 @@ mysql> SELECT @@hostname AS 'Host', @@port AS 'Port';
|
|
mysql>
|
|
mysql>
|
|
|
|
|
|
|
|
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
+```
|
|
两台不同账号同一区域阿里云服务器如何实现内网互通?
|
|
两台不同账号同一区域阿里云服务器如何实现内网互通?
|
|
-原文链接:https://blog.csdn.net/weixin_44678969/article/details/136769184
|
|
|
|
|
|
|
|
1.登录阿里云平台
|
|
1.登录阿里云平台
|
|
2.[开通peer对等]
|
|
2.[开通peer对等]
|
|
@@ -605,11 +620,13 @@ mysql>
|
|
如果内网还是不通,记得看看两台服务器有没有开机!!!
|
|
如果内网还是不通,记得看看两台服务器有没有开机!!!
|
|
看看私网地址有没有填写正确
|
|
看看私网地址有没有填写正确
|
|
最后还不能解决,可以使用工单提交你所遇到的问题,一般工程师都会快速回复你的。
|
|
最后还不能解决,可以使用工单提交你所遇到的问题,一般工程师都会快速回复你的。
|
|
|
|
+```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+```
|
|
我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。
|
|
我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。
|
|
一、问题描述:
|
|
一、问题描述:
|
|
当我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。
|
|
当我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。
|
|
@@ -650,4 +667,4 @@ MariaDB [(none)]> start slave;
|
|
MariaDB [(none)]> show slave status\G
|
|
MariaDB [(none)]> show slave status\G
|
|
|
|
|
|
到此问题就解决了!
|
|
到此问题就解决了!
|
|
-```
|
|
|
|
|
|
+```
|