mysql的使用

本文详细介绍了MySQL的安装、用户授权和主从复制过程,包括异步、GTID同步以及半同步复制。探讨了多主模式的组复制和MHA集群架构,讲解了如何实现故障切换和使用MySQL路由器进行负载均衡。此外,还提到了通过VIP地址确保服务高可用性。
摘要由CSDN通过智能技术生成

1.mysql的安装

安装环境依赖性
在这里插入图片描述
解压安装三部曲
在这里插入图片描述

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/data/mysql-5.7.36/boost/boost_1_59_0
在这里插入图片描述
添加指令方便调用 在这里插入图片描述
在这里插入图片描述
复制启动脚本在这里插入图片描述
备份配置文件
在这里插入图片描述
修改 vim my.cnf
在这里插入图片描述
新建用户
在这里插入图片描述
安全初始化
在这里插入图片描述
初始化命令在这里插入图片描述
安装图形化的mysql
在这里插入图片描述
进入nginx conf配置文件 设置在这里插入图片描述
在这里插入图片描述
修改php主配置文件在这里插入图片描述
pdo socket 在这里插入图片描述
mysqli在这里插入图片描述安装成功
在这里插入图片描述

2.mysql用户与授权

给repl用户授权并且设定密码在这里插入图片描述

3.mysql主从复制

异步同步

开启两个主机 安装rpm mysql包
yum install -y mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm mysql-community-libs-5.7.33-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm mysql-community-server-5.7.33-1.el7.x86_64.rpm
在这里插入图片描述
修改配置文件 修改后记得重启在这里插入图片描述
在这里插入图片描述
另一台主机 不与master主机一样即可在这里插入图片描述
在此强调重启在这里插入图片描述
复制主机端 mysql 中
CHANGE MASTER TO MASTER_HOST=‘192.168.0.206’, MASTER_USER=‘repl’, MASTER_PASSWORD=‘Pp0313…’,MASTER_LOG_FILE=‘mysql-bin.000001’, MASTER_LOG_POS=595;

在这里插入图片描述
开启slave在这里插入图片描述两个yes代表成功
在这里插入图片描述
实验结果 主服务器 写入 在这里插入图片描述
复制从服务主机 收到实时情况
在这里插入图片描述

GTID

主服务器 1vim /etc/my.conf在这里插入图片描述重启服务
在这里插入图片描述
从服务器 2 同样配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
显示gtid信息 成功
在这里插入图片描述

传输A→B→C

主服务器上 导入test表格 到 dump.db 然后scp复制到 新服务器
在这里插入图片描述新服务器 3 上创建表格 然后修改
配置服务器3 配置与上面相同
在这里插入图片描述
在这里插入图片描述 导入主服务器表格
在这里插入图片描述
B给C 服务器2 需要 给 3服务器
服务器2vim /etc/my.conf 添加 然后重启

在这里插入图片描述
在这里插入图片描述
mysql中给用户权限 作C的master
在这里插入图片描述
服务器3 mysql设置
在这里插入图片描述
至此 传输A→B→C 成功
主服务器1 为 2的master 2为3的master

半同步复制

三台服务器 123
1主 2 从

首先 做好 配置
两个从服务器分别配置 到 主服务器的ip 在这里插入图片描述 3个服务器上 开启 半同步master 并且重启slave在这里插入图片描述如果2 3服务器 停止io slave 那么 主机 1 将会缓存 并且记录没有半同步的数据
在这里插入图片描述
在这里插入图片描述
开启io slave 后 将会 将没有同步的数据 同步
在这里插入图片描述**主服务器 写入数据 服务器 端 可以设定 一个时间延迟接收 **
服务器2上实验
在这里插入图片描述
在这里插入图片描述
主服务器插入在这里插入图片描述
设定延迟服务端 显示 落后于 主机端 19 倒计时11秒在这里插入图片描述
这个延迟操作可以 当主服务器 错误删除 时 可以 利用延迟时间 做备份

并行复制配置与调优

slave服务器 2 3 端 vim /etc/my.cnf 改完重启
在这里插入图片描述在这里插入图片描述
设置好后 大大减少延迟率在这里插入图片描述

solw_log

慢查询
激活
在这里插入图片描述
运行一个慢 语句在这里插入图片描述查看 找出 慢语句在这里插入图片描述
这个功能 可以企业中查询 数据库 语句缓慢 的语句 从而找到问题

组复制同步 多主模式

首先清空 mysql 配置文件 在这里插入图片描述
编写 vim /etc/my.cnf
disabled_storage_engines=“MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY”
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
plugin_load_add=‘group_replication.so’
transaction_write_set_extraction=XXHASH64
group_replication_group_name=“aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”
group_replication_start_on_boot=off
group_replication_local_address= “192.168.0.206:33061”
group_replication_group_seeds= “192.168.0.206:33061,192.168.0.207:33061,192.168.0.208:33061”
group_replication_bootstrap_group=off
group_replication_ip_whitelist=“192.168.0.0/24,127.0.0.1/8”
group_replication_single_primary_mode=OFF
group_replication_enforce_update_everywhere_checks=ON
group_replication_allow_local_disjoint_gtids_join=ON
在这里插入图片描述
登录调试,mysql在这里插入图片描述设置用户 密码
在这里插入图片描述
修改配置
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@‘%’ IDENTIFIED BY ‘Pp0313…’;
GRANT REPLICATION SLAVE ON . TO rpl_user@‘%’;
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER=‘rpl_user’, MASTER_PASSWORD=‘Pp0313…’ FOR CHANNEL ‘group_replication_recovery’;

在这里插入图片描述SET GLOBAL group_replication_bootstrap_group=ON; 此设置只需要 主机服务端
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
SELECT * FROM performance_schema.replication_group_members;

在这里插入图片描述
服务器 2 3 端 同样设置 大致相同
sever id 不要相同 local address设置 当前ip
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
服务器3
在这里插入图片描述
在这里插入图片描述创建完成 三个主机都可以改写 同时同步在这里插入图片描述

router mysql路由器

安装在这里插入图片描述
修改配置文件在这里插入图片描述
destinations 写入自己的三个服务器 ip
在这里插入图片描述
重启服务在这里插入图片描述
可以 负载均衡链接在这里插入图片描述

MHA集群架构

首先创建一个 一主两从 以及一个控制端
主机服务端 vim /etc/my.cnf在这里插入图片描述在这里插入图片描述
服务器端 两个同样的配置
在这里插入图片描述
在这里插入图片描述
安装MH7
在这里插入图片描述
3 服务器 安装node在这里插入图片描述
在这里插入图片描述
在 控制端 安装 manager 修改配置文件
在这里插入图片描述
在这里插入图片描述
创建一个目录 将两个配置文件 合并 复制过去
在这里插入图片描述进入/etc/mha app1.conf 编辑
在这里插入图片描述
主服务器 1上 mysql 添加权限 配置完成
在这里插入图片描述
控制端 开始 检测 首先 给ssh 创建密钥免密链接 生成密钥
在这里插入图片描述
复制 /.ssh到三台服务器在这里插入图片描述输入 masterha_check_ssh --conf=/etc/mha/app1.cnf 检测 ok表示成功在这里插入图片描述
检测 rhel 脚本
在这里插入图片描述
在这里插入图片描述

MHA的故障切换主从服务器

手动切换 当服务器没问题时
masterha_master_switch --conf=/etc/mha/app1.cnf --master_state=alive --new_master_host=192.168.0.206 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000

在这里插入图片描述
全部yes 切换成功
在这里插入图片描述当服务器挂掉后 切换masterha_master_switch --master_state=dead --conf=/etc/mha/app1.cnf --dead_master_host=172.25.0.7 --dead_master_port=3306 --new_master_host=172.25.0.6 --new_master_port=3306 --ignore_last_failover
在这里插入图片描述
在这里插入图片描述
故障切换后 换产生一个 文件
在这里插入图片描述
这个文件会禁止 自动切换 锁定住 当此文件存在 需要删除 才可以 切换主从服务器

故障自动切换 打一个指令到后台
在这里插入图片描述
停掉主服务端 mysql 控制端 自动切换
在这里插入图片描述
在这里插入图片描述

创建一个 vip地址 使其可以保证 服务器的使用

使用脚本
在这里插入图片描述
在这里插入图片描述
修改一些内容
在这里插入图片描述在这里插入图片描述
手动切换一次 主服务器 ip addr 可以看到 虚拟主机 100 已经添加
在这里插入图片描述
100 端 mysql 可以 正常链接在这里插入图片描述在此 输入自动切换 指令打入后台
在这里插入图片描述
停掉主机端后 自动切换
在这里插入图片描述
在这里插入图片描述
虚拟主机 100 也到了 新的主机端中在这里插入图片描述
并且 mysql 100 用户 会重新链接 重新获得使用权在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淼祺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值