mysql的主从 集群配置_Mysql:主从集群配置

本文详细介绍如何使用Docker部署MySQL主从复制环境,包括拉取镜像、配置主从数据库、实现数据同步等关键步骤。

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

命令:docker pull hub.c.163.com/library/mysql:latest

拉取完之后查询镜像

命令:docker images

b39647eb58abd154407c55aaee70f7e8.png

3.配置主从复制

(1)创建配置文件

目录:/usr/local/mysql/   注意:目录你个人设定,这不过是我自己的爱好

主数据库(master)配置文件/usr/local/mysql/master/my.cnf:

[mysqld]

log-bin=mysql-bin

server-id=1     #注意这个id>0且要唯一

从数据库(slave)配置文件/usr/local/mysql/slave/my.cnf:

[mysqld]

log-bin=mysql-bin

server-id=2     #注意这个id>0且要唯一

注意:我是在容器外部进行的配置,喜欢进入容器内部配置的请稍等。

(2)开启主从数据库

开启主数据库:

348b29d5da0fe7d974941eba333e2356.png

开启从数据库:

6e5d0ecdbbab3f35036db1425a3d0555.png

查看容器状态:

6acb2ce68715f199bf470fe93bc386df.png

在这里,容器就正常打开了。

喜欢进入容器内部修改配置文件的注意了:

进入主数据库命令:docker exec -it mysql /bin/bash

96d803c914f08c13f91dfce62228a2fb.png

修改my.cnf配置文件命令:vi /etc/mysql/my.cnf

6dc52e70d25ca7a2182e722937729f7c.png

oh my 上帝!里面的vi、vim命令都不能用!!!

上天难不倒有心之人,我装一个vim(实话说,vi是怎么装怎么失败,vim偶尔成功,但老子用的是集群啊,对,每一个容器都得装一遍vim,so,我启用外部的配置文件)

命令:apt-get update

1b217d216a89946363b456afbe672347.png

命令:apt-get install vim

4beb829bf7f3d49c13e89e4018fff214.png

(这一次神奇的装成功了)

照着上边修改配置文件修改下my.cnf就可以了。

命令:vim /etc/mysql/my.cnf

5489af304c08d574ffadc95399a65eb1.png

配置成功的同学,保存,重启容器,照此再配置从服务器。

(3)重中之重的主从配置环节

---------------------------------------------------------------------------------------------------------------------------------master数据库配置-----------------------------------------------------------------------------------------------------------------------

master数据库创建授权用户:

grant all privileges on *.* to 'username'@'ip' identified by 'password' with grant option;

flush privileges;

b725edc09b3414549b953be63e862045.png

%是统配字符,表示所有ip都可以连接,这个ip主要是从数据库的ip

喜欢进入容器内部进行黑窗操作的同学请不要介意,我是喜欢这样用客户端哈哈。

查询用户,host:select user,host from mysql.user;

1c73e8c5302f1eb477d358020c1abb74.png

查看master状态:show master status;

d91a68a076dc632959e28f5902d0bb56.png

主数据库的配置环节到此就完成了。

---------------------------------------------------------------------------------------------------------------------------------slave数据库配置-----------------------------------------------------------------------------------------------------------------------

停止slave:stop slave;

配置连接master数据库:

change master to master_host=’ip’, master_user=’username’, master_password=’password’, master_log_file=’log_file_name’;

f327a2c236eac3e5b24d365198d0deb3.png

开启slave:start slave;

查询slave状态:show slave status;

f015145262e364532b22702e3b37aafc.png

当你的Slave_IO_State也是这样就完成了。

但是可惜的是,如果你不知道这个细节,你永远是完不成的。

注意:上面填写的ip,一定一定是docker容器的ip,而不是虚拟机的ip。

docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq) 获取所有容器ip

来查看下,docker容器的ip:

40af0ffa6604922ac9b84ff56ab2785b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值