mysql swarm_跨云swarm部署MySQL主从

1、获取mysql镜像docker pull mysql:5.7

2、设置配置文件1、主服务器1:

新建目录:/data/docker/mysql/conf/

新建文件:master.cnf

[mysqld]

server_id = 999 ##mysql服务器的唯一标识,每个都不一样

log-bin = mysql-bin

2、主服务器2:

新建目录:/data/docker/mysql/conf/

新建文件:master.cnf

[mysqld]

server_id = 101 ##mysql服务器的唯一标识,每个都不一样

log-bin = mysql-bin

3、分别创建mysql主从服务器的docker容器docker run -p 3306:3306 --name mysql-master-01 --network my_net --restart always \

-v /data/docker/mysql/conf:/etc/mysql/conf.d \

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

-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

docker run -p 3306:3306 --name mysql-master-02 --network my_net --restart always \

-v /data/docker/mysql/conf:/etc/mysql/conf.d \

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

-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

4、mysql主服务器设置:docker exec -i -t mysql-master-01 /bin/bash

mysql -u root -p

//创建一个同步数据的账号

GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';

//查看状态,记住File、Position的值,在Slaver中将用到

show master status;

5、mysql从服务器设置:docker exec -i -t mysql-master-02 /bin/bash

mysql -u root -p

//设置主库链接

change master to master_host='mysql-master-01',master_user='backup',

master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154,master_port=3306;

//启动从库同步

start slave;

//查看状态

show slave status\G;

0409685db0ac989c24fd6a563d3135c0.png

这种情况说明mysql主从同步配置成功

备注1:

我一开始总是报错:Slave_IO_Running: Connecting;原因是在设置主库链接时我将ip地址设置为localhost;改为实际ip192.168.56.101即可

备注2(从服务器设置):

master_host:主库地址

master_user:主库创建的同步账号

master_password:主库创建的同步密码

master_log_file:主库产生的日志(File)

master_log_pos:主库日志记录偏移量(Position)

master_port:主库使用的端口,默认为3306;我的是29001

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值