Myluzh Blog

Strive to become a dream architect.

mysql8主从配置

发布时间: 2023-7-4 文章作者: myluzh 分类名称: MySQL


0x01 创建mysql环境
使用docker创建两台mysql,名字为mysql_master与mysql_slave,加入mysql-network网络,设置root密码为Qwer1234.
这里需要挂载容器内的三个目录分别为数据文件夹、日志文件夹、配置文件夹。
 docker run -d \
 --name mysql_master \
 --network mysql-network \
 -v /Users/myluzh/Documents/docker/mysql_master/data:/var/lib/mysql \
 -v /Users/myluzh/Documents/docker/mysql_master/log:/var/log/mysql/ \
 -v /Users/myluzh/Documents/docker/mysql_master/config:/etc/mysql/conf.d \
 -e MYSQL_ROOT_PASSWORD=Qwer1234. \
 mysql:latest 

 docker run -d \
 --name mysql_slave \
 --network mysql-network \
 -v /Users/myluzh/Documents/docker/mysql_slave/data:/var/lib/mysql \
 -v /Users/myluzh/Documents/docker/mysql_slave/log:/var/log/mysql/ \
 -v /Users/myluzh/Documents/docker/mysql_slave/config:/etc/mysql/conf.d \
 -e MYSQL_ROOT_PASSWORD=Qwer1234. \
 mysql:latest 

0x02 配置mysql主从
1.在主MySQL服务器上创建用于复制的用户,并授予适当的权限。
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Qwer1234.';
mysql> GRANT ALL ON *.* TO 'repl'@'%';
mysql> ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Qwer1234.';
mysql> select host,user,plugin from user;
mysql> FLUSH PRIVILEGES;
2.编辑主库的配置文件 my.cnf,启用二进制日志记录,并设置唯一的服务器ID。
# vi /Users/myluzh/Documents/docker/mysql_master/config/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=1
3.配置从库的配置文件 my.cnd,设置唯一的服务器ID。
[mysqld]
server-id=2
4.获取主库MASTER_LOG_FILE和MASTER_LOG_POS信息。
mysql> SHOW MASTER STATUS;
| mysql-bin.000001 |      3942
5.在从MySQL服务器上设置主服务器的IP地址和端口号等信息。
mysql> CHANGE MASTER TO
    -> MASTER_HOST='mysql_master',
    -> MASTER_USER='repl',
    -> MASTER_PASSWORD='Qwer1234.',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=3942;
6.启动从MySQL服务器,并检查它是否能够连接到主服务器。
START SLAVE;
SHOW SLAVE STATUS\G;
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都是 YES,且 Exec_Master_Log_Pos 的值与 Master_Log_Pos 的值相同,则说明主从复制已经正常工作。

0x03 主从测试
主库上创建一个名为 test 的数据库:
CREATE DATABASE test;
然后在从库上执行以下命令,来查看该数据库是否同步到从库:
SHOW DATABASES;

0x04 
参考链接
Docker中修改mysql8默认加密方式 https://blog.csdn.net/qq_26709459/article/details/128931193
mysql8主从配置 https://blog.csdn.net/qq_48211363/article/details/123098043

标签: mysql mysql8 主从

发表评论