MYSQL数据库集群高可用和数据监控平台

项目环境

项目拓扑结构

软硬件环境清单

软硬件环境清单

软硬件环境清单

|---------|-----------------------------------|-----------------------------------|---------------------------------------------------------|
| 主机名 | IP | 硬件 | 软件 |
| master1 | 192.168.12.130 VIP:192.168.12.200 | cpu:1颗2核 内 存:2GB HDD:20GB 网 络:NAT | VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4 |
| master2 | 192.168.12.131 VIP:192.168.12.200 | cpu:1颗2核 内 存:2GB HDD:20GB 网 络:NAT | VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4 |
| monitor | 192.168.12.132 | cpu:1颗2核 内 存:2GB HDD:20GB 网 络:NAT | VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4 |

项目实现步骤

OpenEuler系统安装

系统配置
环境配置

主机名:

关闭三台主机防火墙及SELinux:

复制代码
reboot

三台主机下载所需软件并升级:

复制代码
yum  install  vim  make  gcc  tree  net-tools tar  -y

yum  update

三台主机重新设置登录系统密码:

复制代码
passwd root

三台主机时间同步:

【时间不同步有可能导致主从架构或主主架构出现异常】

复制代码
vim  /etc/chrony.conf
复制代码
server   ntp.aliyun.com   iburst

systemctl restart  chronyd

chronyc  sources  -v 

【可多执行几次】

master1

master2:

monitor:

复制代码
timedatectl

生产环境二进制包安装MySql

注意:2台MySql服务器安装过程相同,以下以master1主机为例

下载安装包
解压缩:
复制代码
tar  xvf  mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz

查看是否解压成功:

复制代码
cd  mysql-8.0.37-linux-glibc2.17-x86_64
使用前的准备
复制代码
cd  ~ 

mv  mysql-8.0.37-linux-glibc2.17-x86_64  /usr/local/mysql

cd /

cd /usr/local/mysql 

创建用户组mysql:

复制代码
groupadd mysql

创建名为 mysql的系统用户:

【将其添加到mysql用户组中,并设置其登录shell为/bin/false,以限制该用户的登录权限】

复制代码
useradd -r -g mysql -s /bin/false mysql

创建用于存放MySQL数据文件目录:

复制代码
mkdir data

设置mysql目录的账户及工作组,生产环境中不要使用root:

复制代码
chown -R mysql:mysql /usr/local/mysql 
初始化软件
复制代码
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

master1:

复制代码
root@localhost:ycx%ci7loPrg

master2:

复制代码
root@localhost:8nRCf5s<?QBF

使用后台方式以mysql用户身份启动 MySQL 服务器:

【mysqld_safe 是一个用于启动和监控 MySQL 服务器的脚本】

复制代码
bin/mysqld_safe --user=mysql &

【注意:

此时上述命令执行完毕处于后台运行状态,需要另行启动一个终端

查看进程运行状态:

复制代码
ps  -ef | grep  mysql
复制代码
cd  /usr/local/mysql

登录:

【可能报错】

复制代码
bin/mysql -uroot -p

【报错,需要找到下面的文件进行软连接】

复制代码
cd ~

ln -s /usr/lib64/libncurses.so.6.3 /usr/lib64/libncurses.so.5

ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5

登录:

复制代码
cd  /usr/local/mysql
bin/mysql -uroot -p
ycx%ci7loPrg
              ---【master1】
8nRCf5s<?QBF
              ---【master2】

修改密码:

复制代码
 alter  user 'root'@'localhost'  identified  with  mysql_native_password by '123456';

刷新:

复制代码
flush privileges; 

查看账户信息:

复制代码
select user, host, plugin from mysql.user;

退出MySQL:

复制代码
exit

查看当前MySQL进程:

复制代码
ps -ef | grep mysql

master1:

master2:

在当前终端关闭运行的mysql:

复制代码
kill  -9  pid号  
设置mysql的配置文件

【 回到之前的终端,敲一个回车,显示进程以杀死】

新建:

复制代码
vim /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
default-storage-engine=INNODB
log_error = error.log
配置启动脚本
复制代码
cd  /usr/local/mysql/support-files

cp -a mysql.server /etc/init.d/mysql

vim  /etc/init.d/mysq

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
复制代码
cd  ~ 

设置环境变量需添加如下语句:

复制代码
vim  ~/.bash_profile

export PATH=$PATH:/usr/local/mysql/bin
复制代码
source  ~/.bash_profile

重载系统配置:

复制代码
systemctl daemon-reload
相关推荐
yanjiaweiya25 分钟前
云原生-集群管理
java·开发语言·云原生
gadiaola33 分钟前
【JavaSE面试篇】Java集合部分高频八股汇总
java·面试
GJCTYU1 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20251 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风1 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
艾迪的技术之路1 小时前
redisson使用lock导致死锁问题
java·后端·面试
weixin_478689761 小时前
操作系统【2】【内存管理】【虚拟内存】【参考小林code】
数据库·nosql
今天背单词了吗9801 小时前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
天天摸鱼的java工程师1 小时前
使用 Spring Boot 整合高德地图实现路线规划功能
java·后端