企业级Mysql 集群技术部署

目录

1.1部署mysql

1.1.1 安装依赖性:

1.1.2 下载并解压源码包

1.1.3 源码编译安装mysql

1.1.4 部署mysql

2.mysql的主从复制

2.1 配置masters

2.2配置slave

 2.3 延迟复制

2.4 慢查询日志

2.5并行复制

2.6 原理刨析

2. 7架构缺陷

3.半同步模式

3.1半同步模式原理

3.2 gtid模式

3.3.启用半同步模式

3.4.测试

4.mysql高可用之组复制 (MGR)

4.1 组复制流程

4.2 组复制单主和多主模式

4.3.实现mysql组复制

5.mysql-router(mysql路由)

6.mysql-mha

6.1.MHA概述

6.2 MHA部署实施

6.2.1 搭建一主两从架构

6.2.2安装MHA所需要的软件

6.2.3 MHA的故障切换

master未出现故障手动切换

master故障手动切换

恢复故障mysql节点

自动切换

6.2.4为MHA添加VIP功能


1.1部署mysql

1.1.1 安装依赖性:

yum install cmake gcc-c++ openssl-devel ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y

1.1.2 下载并解压源码包

1.1.3 源码编译安装mysql

编码时间会很久,所以我没有截图

进入解压后的mysql目录

[root@mysql-node10 mysql-5.7.44]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装路径
-DMYSQL_DATADIR=/data/mysql \ #指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ #指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #指定启用INNODB存储引擎,默认
用myisam
-DWITH_EXTRA_CHARSETS=all \ #扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \ #指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \ #指定默认校验字符集
-DWITH_BOOST=/root/mysql-5.7.44/boost/boost_1_59_0/ #指定c++库依赖
[root@mysql-node10 mysql-5.7.44]# make -j2 #-j2 表示有几个
核心就跑几个进程
[root@mysql-node10 mysql-5.7.44# make install

当cmake出错后如果想重新检测,删除 mysql-5.7.44 中 CMakeCache.txt即可

1.1.4 部署mysql

#生成启动脚本

dnf install initscripts-10.11.6-1.el9.x86_64 -y

#生成数据目录

#生成数据目录

改环境变量

#修改配置文件

#数据库初始化建立mysql基本数据

#数据库安全初始化

测试:

2.mysql的主从复制

另开两台虚拟机作为从服务器一台172.25.250.20  一台172.25.250.30

直接从10上复制过来,无需编译

但是之前部署的操作全都要做

2.1 配置masters

#进入数据库配置用户权限

mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'lee'; ##生成专门用来做复制的用
户,此用户是用于slave端做认证用
mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%'; ##对这个用户进行授权
mysql> SHOW MASTER STATUS; ##查看master的状态

#查看二进制日志

cd /data/mysql/

2.2配置slave

测试:

主上

在slave中查看数据是否有同步过来

在slave阶段中默认情况下是开启了写功能的,但是建议关闭slave节点的写功能来保证数据一致性 vim /etc/mysql.cnf

[mysqld]

super_read_only=on

 2.3 延迟复制

一般只做一台就够了

node3

从20上把目录复制过来

延迟复制时用来控制sql线程的,和i/o线程无关
这个延迟复制不是i/o线程过段时间来复制,i/o是正常工作的
是日志已经保存在slave端了,那个sql要等多久进行回放
当master端误操作,可以在slave端进行数据备份

对node3进行从服务配置

测试

在master中写入数据后过了延迟时间才能被查询到

slave查看,暂时看不到

等一分钟后

2.4 慢查询日志

慢查询,顾名思义,执行很慢的查询
当执行SQL超过long_query_time参数设定的时间阈值(默认10s)时,就被认为是慢查询,这个
SQL语句就是需要优化的
慢查询被记录在慢查询日志里
慢查询日志默认是不开启的
如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。

这里可以看到是OFF

开启慢查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值