docker安装PXC的MySQL集群

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

docker安装PXC的MySQL集群

一、MySQL集群安装环境

(一)操作系统

(二)相关插件

1、socat插件用来监视Docker API(必须安装)

socat是一个十分强大的命令行工具,它允许你在几乎任何类型的两个数据通道之间中继数据,从而可以嗅探到两个数据通道的通信,进行分析。可以把它看成是一个增强版本的netcat。

安装指令:

(1)debian/ubuntu系统安装指令

aitalk@luo:~$ sudo apt-get install socat

(2)centos/redhat系统安装指令

aitalk@luo:~$ sudo yum install -y socat

二、安装Percona XtraDB Cluster

(一)docker下载镜像

1、通过docker拉取MySQL

aitalk@luo:~$ sudo docker pull percona/percona-xtradb-cluster:5.7.22

未指定版本号,下载默认是lastes版本,这里指定版本号:docker pull percona/percona-xtradb-cluster:5.7.22

2、查看MySQL镜像

aitalk@luo:~$ sudo docker images

(二)配置percona-xtradb-cluster相关环境

1、创建自定义网络:(设置固定IP)

root@luo:~# docker network create --subnet=172.19.0.0/16 pxc-mysql-network

2、创建 Docker卷

通常我们通过 docker的目录映射机制将业务数据存储到我们的宿主机上。但是PXC集群技术比较特殊,如果为PXC 集群使用了docker的目录映射技术,PXC会闪退,因此要采用另外一种目录映射技术,即使用 docker卷。

(1)MySQL配置文件目录

aitalk@luo:~$ sudo docker volume create v1-etc (2)MySQL数据文件目录

aitalk@luo:~$ sudo docker volume create v1-data (3)MySQL日志文件目录

aitalk@luo:~$ sudo docker volume create v1-logs

2、查看 Docker卷

aitalk@luo:~$ sudo docker volume ls

3、查看 Docker卷映射目录

aitalk@luo:~$ sudo docker volume inspect v1-etc

(三)创建percona-xtradb-cluster容器

1、执行创建 Docke容器命令

aitalk@luo:~$ sudo docker run -itd \

-p 3326:3306 \

--name=my-node1 \

-e MYSQL_ROOT_PASSWORD=123456 \

-e XTRABACKUP_PASSWORD=123456 \

-e CLUSTER_NAME=aitalk-pcx \

--net=pxc-mysql-network \

--ip 172.19.0.2 \

-v v1-etc:/etc/mysql \

-v v1-data:/var/lib/mysql \

-v v1-logs:/var/log/mysql \

--privileged \

-d

docker.io/percona/percona-xtradb-cluster:5.7.22

2、执行命令截图

3、命令参数说明

-p: 映射本地端口3326。

--name:指定运行之后的容器的名称为my-node1。

--privileged:指定了当前容器是否真正的具有root权限,所谓的root权限是指具有宿主机的root权限,而不仅仅只是在容器内部有root权限。

-e:指定环境变量,容器中可以使用该环境变量。

-e CLUSTER_NAME :指定集群名称为aitalk-pcx

-v:为容器挂载目录,比如:

V1-data:/var/lib/mysql

前者为数宿主机目录,后者为容器内目录。

-d:后台运行容器,并返回容器ID。

-e MYSQL_ROOT_PASSWORD:设置root密码为123456

-e XTRABACKUP_PASSWORD:集群之间同步的密码为123456

--character-set-server:设置数据库编码为uft8或utf8mb4。

--collation-server:设置默认排序规则为utf8_unicode_ci

–net :容器分到的内部网段

–ip : 容器分到的 ip地址

4、查看新创建容器

aitalk@luo:~$ sudo docker ps -a

5、查看容器里的详细信息

aitalk@luo:~$ sudo docker inspect my-node1

(四)创建MySQL支持远程连接

1、登录MySQL

aitalk@luo:~$ sudo mysql -h 172.19.0.2 -u root -p123456

2、查看账号

mysql> use mysql;

mysql> select * from user;

注:红框账号必须有,要不数据库安装失败。

3、登录进入新创建容器

aitalk@luo:~$ sudo docker exec -it my-node1 /bin/bash

相关文档
最新文档