Mac下使用Docker搭建MySql从服务器

1. 下载镜像(最好与MySql的版本一致)

这里我的MySql是5.19版本的

docker pull mysql:5.7.19

2. 创建文件目录结构请添加图片描述那个master目录如果不在Docker配置主服务器的话就没有用到,可不创建

请添加图片描述 my.cnf 配置文件里修改内容

[mysqld]
server_id = 2

log-bin= mysql-bin

read-only=1


replicate-ignore-db=mysql

replicate-ignore-db=sys

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

 

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

3. 启动从服务器镜像容器:

docker run --name mysql-slave -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=‘Your password’ -v /Users/mac/Desktop/docker_mysql/slave/data:/var/lib/mysql -v /Users/mac/Desktop/docker_mysql/slave/conf/my.cnf:/etc/mysql/my.cnf -v /Users/mac/Desktop/docker_mysql/slave/mysql-files:/var/lib/mysql-files mysql:5.7.19

后面三个-v映射的本机路径为刚才创建的目录结构的路径

4. 测试从服务器是否创建成功

/usr/local/mysql/bin/mysql -uroot -p‘Password’ -h 192.168.1.6 --port=3308

本机ip 主服务器端口

show databases;

输入后观察到有4个初始数据库就没有问题了

5. 收集主机数据库服务器原有数据

/usr/local/mysql/bin/mysqldump -uroot -p‘Password’ --all-databases --lock-all-tables > ~/Desktop/master_db.sql

lock类似在从服务器收集数据时候,主服务器不要操作所有的表,好像是这个意思~~~~~

收集位置为master_db.sql

6. 将数据复制到从机数据库服务器

/usr/local/mysql/bin/mysql -uroot -‘Password’ -h 192.168.1.6 --port=3308 < ~/Desktop/master_db.sql

7. 创建从机账号

 7.1 登录到主机
```bash
/usr/local/mysql/bin/mysql -uroot -p'Your password' 
```
7.2 创建账号
```bash
grant replication slave on *.* to 'slave'@'%' identified by 'slave';
```
创建一个名为slave的从机账号,密码为slave,可以访问主机的所有表和数据库
7.3 刷新权限
```bash
flush privileges;
```

8. 进行主从同步,连接主机

8.1 显示主机状态

```bash
show master status;
```

请添加图片描述

8.2 丛机中进行该操作 主从同步

change master to master_host='192.168.1.6', master_user='slave',master_password='slave',master_log_file='mysql-bin.000021',master_log_pos=18990,master_port=3306

ip 地址
访问主机的名字为上面定义的名字
访问主机的密码为上面定义的密码
master_log_file
master_log_pos 为上图中的数据
表示从机从改位置开始读取主机的日志就可以和主机保持同步了

8.3启动从机服务

start slave;

显示从机状态

show slave status;

观察到下图就是配置成功了
![请添加图片描述](https://img-blog.csdnimg.cn/3b18437765584141b7449ab54b4ee8d6.png

否则重新来过~~~

stop slave;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值