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