Docker快速搭建Mysql8一主两从复制架构

Docker快速搭建Mysql8一主两从复制架构


一、快速创建mysql实例

角色 server_id

二、配置mysql主从复制

1.主节点

1.1.创建挂载目录

mkdir -p /mysql/replication/source/data /mysql/replication/source/conf
/mysql/replication/source/log

1.2.准备配置文件

vim /mysql/replication/source/conf/custom.cnf
[mysql]
# 设置mysql客户端默认编码
default-character-set=utf8

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql

secure-file-priv= NULL

 # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# 服务器唯一ID,默认是1
server-id=10

# 启用二进制日志
log-bin=mysql-bin

# 最大连接数
max_connections=1000

# 设置默认时区
default-time_zone='+8:00'

# 0:区分大小写
# 1:不区分大小写
lower_case_table_names=1

!includedir /etc/mysql/conf.d/

pid-file: 这是MySQL服务器的进程ID文件的位置。通过这个文件,您可以在系统上找到正在运行的
MySQL服务器的进程。
socket: 这是MySQL服务器用于本地通信的Unix套接字文件的位置。
datadir: 这是MySQL服务器存储其数据文件的位置。
secure-file-priv: 这是一个用于限制LOAD_FILE()和SELECT … INTO OUTFILE命令的文件路径。
如果此选项被设置,那么这两个命令只能用于读取在这个路径下的文件。设置为NULL表示禁用这
个功能。
symbolic-links: 如果设置为0,MySQL服务器将不允许在数据目录中使用符号链接。这有助于防止
安全风险。
server-id: 每个MySQL服务器实例在复制时需要有一个唯一的ID。这有助于区分不同的服务器,特
别是在复制环境中。
log-bin: 启用二进制日志记录所有对数据库的更改,这对于复制和恢复操作是必要的。
max_connections: 这是MySQL服务器可以接受的最大并发连接数。
default-time_zone: 这设置了MySQL服务器的默认时区。
lower_case_table_names: 这决定了MySQL如何存储和比较表名。设置为1意味着表名不区分大小
写(但在文件系统中它们仍然会区分大小写)。
!includedir /etc/mysql/conf.d/: 这告诉MySQL服务器从/etc/mysql/conf.d/目录中包含其他配置文
件。这意味着该目录下的任何.cnf或.ini文件都会被合并到这个主配置文件中。
replicate_do_db : 待同步的数据库日志
replicate_ignore_db:不同步的数据库日志

1.3.运行mysql容器

# 创建主从复制的网络
docker network create --driver bridge mysql-source-replica
#运行mysql容器
docker run -d \
--name mysql-source \
--privileged=true \
--restart=always \
--network mysql-source-replica \
-p 3307:3306 \
-v /mysql/replication/source/data:/var/lib/mysql \
-v /mysql/replication/source/conf:/etc/mysql/conf.d \
-v /mysql/replication/source/log:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai mysql:8.0.27 \
--lower_case_table_names=1

1.4.配置远程访问

docker exec 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值