创建应用目录
mkdir -p /opt/docker
创建docker-compose.yml文件
services:
mysql:
image: mysql:8.0.42
container_name: mysql
restart: always
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
command:
--default-authentication-plugin=mysql_native_password
--lower_case_table_names=1
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
volumes:
- /etc/localtime:/etc/localtime
- /data/mysql/data/:/var/lib/mysql
- ./my.cnf:/etc/mysql/my.cnf
- /data/mysql/logs:/var/log/mysql
- /data/mysql/mysql-files:/var/lib/mysql-files
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
创建my.cnf文件,主从机器的server-id不能重复
[mysqld]
user=mysql
bind-address = 0.0.0.0
port=3306
default-storage-engine=INNODB
log-bin=mysql-bin
server-id=110
expire_logs_days = 10
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
secure-file-priv=
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
启动docker-compose
docker-compose up -d
检查主机110机器的日志名称和行数
show master status;
从机111创建同步任务
CHANGE MASTER TO master_host='192.168.122.111', master_user='root',master_password='root',master_log_file='mysql-bin.000003' master_log_pos=157;,
启动同步任务
start slave;
查看同步状态
show slave status;
从机再按照上边的步骤创建同步任务