Sfoglia il codice sorgente

更新 '技术分享/Mysql集群之mysql双主双活教程.md'

zhaojinyu 1 settimana fa
parent
commit
7b1a9021ba
1 ha cambiato i file con 24 aggiunte e 7 eliminazioni
  1. 24 7
      技术分享/Mysql集群之mysql双主双活教程.md

+ 24 - 7
技术分享/Mysql集群之mysql双主双活教程.md

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