操作系统:Centos7.9(可支持docker部署)
注意集群中各服务器的时间需要相同,可配置向同一 NTP 服务器校时
master节点IP | slave节点IP |
---|---|
192.168.6.185 | 192.168.6.121 |
docker部署(可选):
1 | docker pull centos:7.9.2009 |
- docker 部署方式,在slave机器上重复执行以上操作
一、Mysql Master
1.下载安装包
1 | 百度网盘链接: https://pan.baidu.com/s/1Y-dYeEbA5TzAxkdc_4ruvw 密码: jvmm |
2.解压至安装目录
1 | tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz |
3.创建 mysql 用户
1 | useradd -U -M -s /sbin/nologin mysql |
4.创建数据、日志目录并授予权限
1 | mkdir -p /data/mysql/ /data/logs/mysql |
5.配置 systemd 管理文件
1 | cat > /etc/systemd/system/mysql.service <<EOF |
6.初始化
1 | /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql/ --user=mysql --log-error=/data/logs/mysql/mysqld.log |
7.启动 mysql 并加入开机自启动
1 | systemctl daemon-reload |
8.修改 mysql 密码
1 | /usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -p$(grep 'temporary password' /data/logs/mysql/mysqld.log | awk '{print $NF}') |
- 命令中修改的 root 用户密码为 123456,实际部署时注意替换
二、Mysql Slave
- 下载 mysql 安装包
1 | 百度网盘链接: https://pan.baidu.com/s/1Y-dYeEbA5TzAxkdc_4ruvw 密码: jvmm |
2.解压至安装目录
1 | tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz |
3.创建 mysql 用户
1 | useradd -U -M -s /sbin/nologin mysql |
4.创建数据、日志目录并授予权限
1 | mkdir -p /data/mysql/ /data/logs/mysql |
5.配置 systemd 管理文件
1 | cat > /etc/systemd/system/mysql.service <<EOF |
6.初始化
1 | /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql/ --user=mysql --log-error=/data/logs/mysql/mysqld.log |
7.启动 mysql 并加入开机自启动
1 | systemctl daemon-reload |
8.修改 mysql 密码
1 | /usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -p$(grep 'temporary password' /data/logs/mysql/mysqld.log | awk '{print $NF}') |
- 命令中修改的 root 用户密码为 123456,实际部署时注意替换
三、配置主从
1.登录 master 节点,配置主从同步用户
1 | /usr/local/mysql/bin/mysql --socket=/usr/local/mysql/mysql.sock -uroot -p123456 |
- show master status 执行显示如下:
1
2
3
4
5
6如:
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 1265 | | | |
+------------------+----------+--------------+------------------+-------------------+
2.登录 slave 节点,配置启用主从
1 | /usr/local/mysql/bin/mysql --socket=/usr/local/mysql/mysql.sock -uroot -p123456 |
- change master 语句中 master_host 的地址注意替换为部署时实际的 master 服务器IP
- change master 语句中 master_log_file , master_log_pos 的值为在 master 节点执行 show master status; 看到的输出,如有不同请以实际部署时为准
3.检查主从同步状态
1 | show slave status\G |