1. 在/user/local/share/下创建mysql文件夹,在mysql文件夹目录下创建4个文件夹分别是:
master1, master2, slave1, slave2分别在每个目录下建立data, conf, logs用于数据持久化
创建后如下
2.创建容器:
1)创建一个名为master1的mysql容器(主 mysql)
docker run -p 4306:3306 --name master1 \
-v /usr/local/share/mysql/master1/conf:/etc/mysql/conf.d \-v /usr/local/share/mysql/master1/logs:/var/log/mysql \-v /usr/local/share/mysql/master1/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 -itd mysql:8.0.22
2)创建一个名为master2的mysql容器(主 mysql)
docker run -p 4307:3306 --name master2 \
-v /usr/local/share/mysql/master2/conf:/etc/mysql/conf.d \-v /usr/local/share/mysql/master2/logs:/var/log/mysql \-v /usr/local/share/mysql/master2/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 -itd mysql:8.0.22
3)创建一个名为salve1 的mysql容器(从 mysql)
docker run -p 5306:3306 --name salve1 \
-v /usr/local/share/mysql/salve1/conf:/etc/mysql/conf.d \-v /usr/local/share/mysql/salve1/logs:/var/log/mysql \-v /usr/local/share/mysql/salve1/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 -itd mysql:8.0.22
4)创建一个名为salve2的mysql容器(从 mysql)
docker run -p 5307:3306 --name salve2 \
-v /usr/local/share/mysql/salve2/conf:/etc/mysql/conf.d \-v /usr/local/share/mysql/salve2/logs:/var/log/mysql \-v /usr/local/share/mysql/salve2/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD= 123456 -itd mysql:8.0.22
命令参数注解:
--name : 容器名称
-p : 映射容器端口号和宿主机端口号
-v : 挂载宿主机目录和docker容器中的目录,前面是宿主机目录,后面是容器内部目录
-d : 后台运行容器
-e :环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-itd : 指定数据库版本
3.查看是否将mysql容器创建成功
命令:docker ps
4.配置(双主双从)
1) 配置master1
命令:vim /usr/local/share/mysql/