docker集群之mysql

本文介绍如何使用Docker容器搭建MySQL集群,包括配置文件的修改、主从数据库的设置及同步测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次mysql集群主要是在docker容器中进行搭建,主要是修改配置文件
注:本文采用docker1.10 mysql5.5.1 centos7

1 找到机器中mysql容器的配置文件my.cnf
(本人机器中位置/etc/my.cnf)


2 复制到宿主机目录
(自定义文件夹,将会作为外部配置文件加载到容器中)

3 由my.cnf复制两个配置文件my-m.cnf(主)、my-s.cnf(从)

4 主数据库的my-m.cnf文件修改
docker集群之mysql
docker集群之mysql
注:主要是在[mysqld]下新增
log-bin = mysql-bin server-id = 1
同时注意mysql数据的大小写问题

5 从数据库的my-s.cnf文件修改
docker集群之mysql
docker集群之mysql
注:主要是在[mysqld]下新增
log-bin = mysql-bin server-id = 2


6 接下来分别启动主、从数据库
主:
docker run -d -e MYSQL_ROOT_PASSWORD=root123
--name mysql-master -v /opt/soft/my-m.cnf:/etc/mysql/my.cnf -p 3307:3306 mysql5.5.1
从:
docker run -d -e MYSQL_ROOT_PASSWORD=root123
--name mysql-slaver -v /opt/soft/my-s.cnf:/etc/mysql/my.cnf -p 3308:3306 mysql5.5.1


7 查看数据库状态
docker ps
docker集群之mysql
docker集群之mysql


8 连接主库,并运行以下命令,创建一个用户用来同步数据
(本人采用navicat进行后续操作)
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
docker集群之mysql
命令执行成功后查看主库状态(show master status;)
注:记住File、Position的值
docker集群之mysql



9 连接到从库,运行以下命令,设置主库链接
change master to master_host='192.168.125.131',master_user='backup',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=243,master_port=3307;
docker集群之mysql
docker集群之mysql


10 启动同步(从库执行命令)
start slave;
docker集群之mysql
docker集群之mysql


11 查看同步状态
show slave status;
docker集群之mysql
docker集群之mysql


12 测试
可以通过简单在主库建表等,查看从库数据即可验证
可以使用Docker来部署MySQL集群。以下是一个基本的步骤: 1. 安装Docker:首先,确保在你的机器上安装了Docker。你可以从官方网站下载并按照指南进行安装。 2. 创建Docker网络:为了让容器之间能够相互通信,我们需要创建一个自定义的Docker网络。使用以下命令创建一个网络: ``` docker network create mysql_cluster ``` 3. 创建MySQL容器:使用以下命令创建MySQL容器并将其连接到之前创建的网络: ``` docker run -d --name=mysql1 --network=mysql_cluster -e MYSQL_ROOT_PASSWORD=your_password mysql:latest docker run -d --name=mysql2 --network=mysql_cluster -e MYSQL_ROOT_PASSWORD=your_password mysql:latest docker run -d --name=mysql3 --network=mysql_cluster -e MYSQL_ROOT_PASSWORD=your_password mysql:latest ``` 这将创建三个具有相同密码的MySQL容器,并将它们连接到`mysql_cluster`网络。 4. 配置MySQL主从复制:为了创建MySQL集群,我们需要设置主从复制。首先,进入其中一个MySQL容器: ``` docker exec -it mysql1 bash ``` 然后,在MySQL命令行中执行以下命令: ``` mysql -u root -p GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%' IDENTIFIED BY 'replica_password'; FLUSH PRIVILEGES; SHOW MASTER STATUS; ``` 记下`File`和`Position`值,稍后将在其他节点上使用。 5. 配置其他节点:进入其他两个MySQL容器,执行以下命令: ``` docker exec -it mysql2 bash docker exec -it mysql3 bash ``` 在MySQL命令行中,使用以下命令配置从节点: ``` mysql -u root -p CHANGE MASTER TO MASTER_HOST='mysql1', MASTER_USER='replica_user', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值