docker mysql集群怎么搭建

   2025-02-15 5690
核心提示:要搭建Docker MySQL集群,可以按照以下步骤进行操作:安装Docker:在每个节点上安装Docker引擎。创建Docker网络:创建一个Docker

要搭建Docker MySQL集群,可以按照以下步骤进行操作:

安装Docker:在每个节点上安装Docker引擎。

创建Docker网络:创建一个Docker网络,用于连接MySQL容器。

docker network create mysql-cluster

创建MySQL实例:在每个节点上创建MySQL容器实例。

docker run -d -p 3306:3306 --name mysql-node1 --net mysql-cluster -e MYSQL_ROOT_PASSWORD=password mysqldocker run -d -p 3307:3306 --name mysql-node2 --net mysql-cluster -e MYSQL_ROOT_PASSWORD=password mysqldocker run -d -p 3308:3306 --name mysql-node3 --net mysql-cluster -e MYSQL_ROOT_PASSWORD=password mysql

这将在每个节点上创建一个MySQL容器,并将其连接到mysql-cluster网络。每个容器都使用不同的端口号(3306、3307、3308)。

配置MySQL集群:进入每个MySQL容器并修改配置文件以启用集群功能。

docker exec -it mysql-node1 bashvim /etc/mysql/mysql.conf.d/mysqld.cnf

修改配置文件中的以下参数:

[mysqld]server-id=1log-bin=mysql-binlog_slave_updates=1enforce_gtid_consistency=1gtid_mode=ONbinlog_format=ROW

然后重启容器:

docker restart mysql-node1

在其他节点上执行相同的步骤,但将server-id设置为不同的值(2、3)。

创建集群用户:在其中一个节点上创建集群用户并授予相应的权限。

docker exec -it mysql-node1 bashmysql -uroot -ppassword

进入MySQL命令行后,执行以下命令:

CREATE USER 'cluster'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'cluster'@'%';FLUSH PRIVILEGES;

注意将’password’替换为实际的密码。

配置主从复制:在每个节点上进行主从复制配置。

docker exec -it mysql-node1 bashmysql -uroot -ppassword

进入MySQL命令行后,执行以下命令:

SHOW MASTER STATUS;

记下File和Position的值。

在其他节点上执行以下命令:

docker exec -it mysql-node2 bashmysql -uroot -ppassword

进入MySQL命令行后,执行以下命令(将File和Position替换为上一步中的值):

CHANGE MASTER TO MASTER_HOST='mysql-node1', MASTER_USER='cluster', MASTER_PASSWORD='password', MASTER_LOG_FILE='File', MASTER_LOG_POS=Position;START SLAVE;

重复以上步骤,将其他节点配置为从节点。

验证集群:在任意一个节点上进行验证。

docker exec -it mysql-node1 bashmysql -uroot -ppassword

进入MySQL命令行后,执行以下命令:

SHOW STATUS LIKE 'wsrep_cluster_size';

如果集群大小大于等于3,则表示集群已成功搭建。

以上步骤将帮助您搭建Docker MySQL集群。注意替换命令中的密码和其他参数以适应您的环境。此外,还可以根据需要进行其他配置和调整。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言