本文记录了搭建mysql一主二从集群,这样的一个集群master为可读写,slave为只读。过程中使用了docker,便于快速搭建单体mysql。
1,准备docker
docker的安装可以参考之前基于yum安装docker的文章[1]。
容器相关命令[2]。
查看正在运行的容器
docker ps
查看所有容器(查看正在运行的和已经停止运行的)
docker ps –a
docker ps -all
查看最后一次运行的容器
docker ps –l
查看停止的容器
docker ps -f status=exited
创建容器
docker run 参数 镜像名称:镜像标签 /bin/bash
-i:表示运行容器,如果不加该参数那么只是通过镜像创建容器,而不启动。
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端(如果只加it两个参数,创建后就会自动进去容器)。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射,例如:可以将Docker中Tomcat容器的8080端口映射到宿主机上的某一个端口8080,那么以后访问tomcat只需要:http://宿主机的IP:8080/
进入容器之后,初始化执行的命令:/bin/bash;可写可不写
删除指定的容器
#删除容器
docker rm 容器名称(容器ID)
#删除镜像
docker rmi 镜像ID(镜像名称)
2,跑起来3台mysql容器
搜索mysql镜像
docker search mysql
拉取mysql8镜像
docker pull mysql:8.0.29
注意:如果防火墙是开启的,需要关闭防火墙,容器才能启动。
运行3台msyql容器
master
docker run -d \
-p 3311:3306 \
-v /usr/local