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
相关推荐
辛一一1 小时前
neo4j图数据库基本概念和向量使用
数据库·neo4j
熊大如如2 小时前
Java 反射
java·开发语言
巨龙之路2 小时前
什么是时序数据库?
数据库·时序数据库
蔡蓝2 小时前
binlog日志以及MySQL的数据同步
数据库·mysql
猿来入此小猿2 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo3 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder3 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
是店小二呀3 小时前
【金仓数据库征文】金融行业中的国产化数据库替代应用实践
数据库·金融·数据库平替用金仓·金仓数据库2025征文
pjx9873 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
炒空心菜菜3 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark