配置MYSQL:
下载mysql镜像
docker pull mysql:5.7
挂载外部配置和数据安装
1, 在主目录下安装
cd ~
mkdir ~/docker/mysql
mkdir ~/docker/mysql/conf.d
mkdir ~/docker/mysql/data/
- 创建my.cnf配置文件
touch /home/mysql/my.cnf
写入内容:
[mysqld]
#修改配置文件:vim /etc/my.cnf
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库 需要复制的主数据库名字
binlog-do-db=testdb
#设置logbin格式
binlog_format=STATEMENT
启动mysql
docker run -di -v ~/docker/mysql/data/:/var/lib/mysql -v ~/docker/mysql/conf.d:/etc/mysql/conf.d -v ~/docker/mysql/my.cnf:/etc/mysql/my.cnf -p 33310:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run --restart=always --privileged=true -d -v ~/docker/mysql/data/:/var/lib/mysql -v ~/docker/mysql/conf.d:/etc/mysql/conf.d -v ~/docker/mysql/my.cnf:/etc/mysql/my.cnf -p 33306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
参数说明:
--restart=always: 当Docker 重启时,容器会自动启动。
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v ~docker/mysql/conf.d/my.cnf:/etc/my.cnf:映射配置文件
-v ~docker/mysql/data/:/var/lib/mysql:映射数据目录
测试连接
主从同步配置
使用docker-compose进行主从同步的配置
详细看如下文章:
-
【docker-coompose】: www.cnblogs.com/haima/p/143…
docker network inspect mysql_ms_myweb
change master to master_host='172.18.0.2',master_user='slave',master_password='123456',master_port=3306,master_log_file='mysql-bin.000004', master_log_pos=610,master_connect_retry=30;
参考文献:
- juejin.cn/post/700221…
- zhuanlan.zhihu.com/p/98920303
- 【docker-coompose】: www.cnblogs.com/haima/p/143…