docker 部署mysql8搭建innodb_cluster

Posted tom_jk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 部署mysql8搭建innodb_cluster相关的知识,希望对你有一定的参考价值。

mysql版本 : mysql8
集群所需最少实例 : 三台
添加hosts记录(添加集群以及数据同步通过主机名交互数据)
[root@p0807 ~]# vim /etc/hosts
10.10.21.102 dacs01
10.10.21.103 dacs02
10.10.21.104 dacs03

[root@p0806 data]# unzip mysql8.0.route.zip
[root@p0806 data]# ls
mysql8.0.route mysql8.0.route.zip
[root@p0806 data]# cd mysql8.0.route
[root@p0806 mysql8.0.route]# ll

[root@p0806 mysql8.0.route]# docker load -i mysql8.0.tar
[root@p0806 mysql8.0.route]# docker load -i mysql8.0.route.tar

[root@p0806 mysql8.0.route]# docker run --restart=always -v /etc/localtime:/etc/localtime:ro -d -e MYSQL_ROOT_PASSWORD=root --net=host --name=db00 mysql/mysql-server:8.0
[root@p0806 mysql8.0.route]# docker ps -a

[root@p0806 mysql8.0.route]# lsof -i:3306

[root@p0806 mysql8.0.route]# docker exec -it db00 mysql -uroot -proot \\


检查集群
[root@p0806 mysql8.0.route]# docker exec -it db00 mysqlsh -uroot -proot -S/var/run/mysqld/mysqlx.sock

添加集群
MySQL localhost+ ssl JS > dba.configureInstance("dacs@10.10.21.102:3306")

PS:
MySQL localhost+ ssl JS > dba.configureInstance("dacs@10.10.21.102:3306")
MySQL localhost+ ssl JS > dba.configureInstance("dacs@10.10.21.103:3306")
MySQL localhost+ ssl JS > dba.configureInstance("dacs@10.10.21.104:3306")
添加完成后重启集群db
再次检查集群状态
MySQLlocalhost+sslJS>dba.checkInstanceConfiguration("dacs@10.10.21.102:3306")

PS:
MySQLlocalhost+sslJS>dba.checkInstanceConfiguration("dacs@10.10.21.102:3306") MySQLlocalhost+sslJS>dba.checkInstanceConfiguration("dacs@10.10.21.103:3306") MySQLlocalhost+sslJS>dba.checkInstanceConfiguration("dacs@10.10.21.104:3306")
配置完成后重新连接
MySQL localhost+ ssl JS > \\c dacs@10.10.21.102:3306

创建集群实例
MySQL 10.10.21.102:3306 ssl JS > var cluster = dba.createCluster("mycluster")

MySQL10.10.21.102:3306ssl JS > cluster.addInstance("dacs@10.10.21.103:3306")

MySQL10.10.21.102:3306ssl JS > cluster.addInstance("dacs@10.10.21.104:3306")
MySQL10.10.21.102:3306ssl JS > cluster.describe()

[root@p0806 ~]# docker run --restart=always -v /etc/localtime:/etc/localtime:ro -d --name mysql-router \\

[root@p0806 ~]# docker run --restart=always -v /etc/localtime:/etc/localtime:ro -d --name=mysql-client --hostname=mysql-client -v /data:/data -e MYSQL_ROOT_PASSWORD=root mysql/mysql-server:8.0

[root@p0806 ~]# docker ps -a

以上是关于docker 部署mysql8搭建innodb_cluster的主要内容,如果未能解决你的问题,请参考以下文章

docker 搭建 MySQL8 主从

docker搭建mysql8.0

后端 | 基于Docker部署MySQL8集群(一主二从)

docker下部署MySQL8基于GTID的主从复制

docker 部署mysql8.0

Docker 部署 MySql8.0 一主一从 高可用集群