Mysql主从配置(基于docker)

2019-12-05  本文已影响0人  BananaNo1

Mysql主从配置(基于docker)

安装docker

## 如果安装了 docker 可以选择卸载 也可直接使用
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
##安装必要的系统依赖 
##即使系统已存在该环境也可以再次运行
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

## 添加软件源信息  使用阿里下载源 
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
## 更新yum缓存
sudo yum makecache fast
##  安装高版本 docker-ce
yum -y install docker-ce

启动Docker

卸载docker

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

https://my.oschina.net/snowdreams1006/blog/3135995

安装启动mysql 5.6

docker pull mysql:5.6:安装mysql5.6

docker run --name mysql -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 -e MYSQL_ROOT_PASSWORD='123456' -d mysql:5.6 :启动mysql 将配置文件挂载到/mysql/my.cnf

没有配置 系统默认创建文件夹 不是文件,会报错.

开启主从配置文件

配置主机

在master上 修改外挂的配置文件 my.cnf

[mysqld]
log-bin=mysql-bin
server-id=196 //同一局域网类必须唯一,一般设为ip
binlog-ignore-db=mysql //复制过滤 一般不同步mysql

进入docker容器

docker exec -it 容器名 /bin/bash

mysql中创建用户

grant replication slave on *.* to username@'%' identified by password

%代表所有用户都可以连,可以换成ip地址增加安全性
username:用户名
password:密码

show master status:记录下==file==和==position==的值

ps:记录下值后不要继续操作master,避免值发生改变

配置从机

​ 在slave上面修改my.cnf文件

[mysqld]
server-id=129
##开启二进制日志功能,以备salve作为其他slave的master时使用
log-bin=mysql-slave-bin
binlog-ignore-db=mysql
relay_log=mysql-relay-bin

binlog :记录下所有数据的更改,可用于本机数据恢复和主从同步

relaylog:

mysql主节点将binlog写入本地,从节点定时请求增量binlog,主节点将binlog同步到从节点。

从节点单独进程会将binlog 拷贝至本地 relaylog中。

change master to master_host='192.168.159.128', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 2830, master_connect_retry=30;

master_port:mysql主节点的地址
master_user:主机中创建的用户 一般不适用root
master_password:主机中创建的用户密码
master_port:端口号
master_log_file:主机中记录下的file值
master_log_pos:主机中记录的position值
master_connect_retry:如果连接失败,重试的时间间隔,单位是s,默认60s

start slave:开启主从

show slave status\G

正常情况下SlaveIORunning和SlaveSQLRunning都是yes

SlaveIORunning为connecting
 检查连接地址,账号密码和文件是否正确
上一篇下一篇

猜你喜欢

热点阅读