Docker Mysql 只从复制

Posted Godfunc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Mysql 只从复制相关的知识,希望对你有一定的参考价值。

masterslave 上安装mysql

docker pull mysql
docker run -d --name godfunc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 --restart=always mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

修改 mysql 容器中的配置 /etc/mysql/my.cnf

  1. master 配置和添加 slave 用户
    #配置 [mysqld] server-id = 1 log-bin = mysql-bin
    -- 添加用户 CREATE USER ‘slave‘@‘%‘ IDENTIFIED BY ‘123456‘; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘slave‘@‘%‘;
  2. slave 配置
    server-id = 2 log-bin = mysql-slave-bin relay_log=edu-mysql-relay-bin
  3. 重启 mysql 服务
    docker restart godfunc-mysql
  4. 将两个数据库的数据库同步(导出sql进行同步)

连接 masterslave

  1. 查看 master 的状态
    进入到 master 数据库中,执行下面的sql
    show master status
    记录下 File(假设为mysql-bin.000001) 和 Position(假设为 2830);
  2. 进入 slave, 连接 master
    change master to master_host=‘172.17.0.2‘, master_user=‘slave‘, master_password=‘123456‘, master_port=3306, master_log_file=‘mysql-bin.000001‘, master_log_pos= 2830, master_connect_retry=30;
    开启主从复制
    start slave
    查询状态
    show slave status G;
    当下面都是 yes 说明已经成功,如果出现 connecting 获取 No,可以查看 Last_IO_Error 的提示信息
    Slave_IO_Running: Yes Slave_SQL_Running: Yes

以上是关于Docker Mysql 只从复制的主要内容,如果未能解决你的问题,请参考以下文章

docker配置mysql主从复制

阿昌教你docker实现mysql主从复制

基于Docker实现MySQL主从复制

使用docker配置mysql主从复制

基于Docker实现MySQL主从复制

基于Docker搭建MySQL主从复制