mysql主从使用

1.说明

1.mysql镜像版本5.7

2.创建测试目录

mkdir /docker/mysql

3.切换到测试目录

cd /docker/mysql

4.创建数据目录

mkdir log data conf

5.启动容器

docker run --name m1 -p 3307:3306 -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/log:/var/log/mysql -v /docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
主机容器创建成功.png

6.创建配置文件

cd /docker/mysql/conf && vi my.cnf
[mysqld]
    server_id=101
    binlog-ignore-db=mysql
    log-bin=mall-mysql-bin
    binlog_cache_size=1M
    binlog_format=mixed
    expire_logs_days=7
    slave_skip_errors=1062

7.重启服务

docker restart m1

8.进入容器

docker exec -it m1 /bin/bash
mysql -u root -p
主机登录成功.png

9.创建同步账户

create user 'slave'@'%' identified by '123456';
grant replication slave , replication client on *.* to 'slave'@'%';
创建同步账户.png

10.创建从服务测试目录

mkdir /docker/mysql1

11.切换到从服务测试目录

cd /docker/mysql1

12.创建从服务数据目录

mkdir log data conf

13.启动从服务容器

docker run --name m2 -p 3308:3306 -v /docker/mysql1/data:/var/lib/mysql -v /docker/mysql1/log:/var/log/mysql -v /docker/mysql1/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
创建从服务器容器.png

14.编辑从服务配置

cd /docker/mysql1/conf && vi my.cnf
[mysqld]
    server_id=102
    binlog-ignore-db=mysql
    log-bin=mall-mysql-bin
    binlog_cache_size=1M
    binlog_format=mixed
    expire_logs_days=7
    slave_skip_errors=1062
    relay_log=mall-mysql-relay-bin
    log_slave_updates=1
    read_only=1

15.重启从服务

docker restart m2

16.登录主服务查看状态

show master status
查看主库状态.png

17.获取宿主机ip

ifconfig

18.登录从服务配置主从

18.1连接主库

change master to master_host='172.29.87.167', master_user='slave', master_password='123456', master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=617,master_connect_retry=30;

18.2查看主从状态

show slave status
从库连接主库.png

18.3开启主从

start slave
开启从库同步.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容