zoukankan      html  css  js  c++  java
  • Docker 下 mysql 简单的 主从复制实现

    1. 拉取镜像

    docker pull mysql:5.7.21

    2. 运行这个镜像

    docker run -d --name maser mysql:5.7.21

    3. 安装一些必要的软件

    docker exec -it master /bin/bash

    apt-get update
    apt-get install vim

    安装必要的软件

    4. 生成一个带vim编辑器的mysql images

    docker commit master mysqlwithvim:20180822

    5.创建部分目录

    mkdir /mysql
    cd mysql
    mkdir master/data
    mkdir slave/data
    
    创建master和slave 的部分配置文件
    vim my.cnf
    内容为:

    [mysqld]
    log-bin=mysql-bin
    server-id=100

    slave的配置文件为
    [mysqld]
    server-id=200

    6. 启动两个container

    docker rm -f master
    
    docker run -d --name master -p 3307:3306  -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822
    docker run -d --name slave -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822
    
    

    7. 进入 master 容器进行设置

    docker exec -it master /bin/bash

    #输入
    mysql -u root -p
    #输入密码 Test6530
    #创建同步用户。
    CREATE USER 'zhaobsh'@'%' IDENTIFIED BY 'Test6530';
    #增加权限
    GRANT REPLICATION SLAVE ON *.* TO 'zhaobsh'@'%';
    GRANT ALL ON *.* TO 'zhaobsh'@'%';
    flush privileges;
    #查看数据库的状态
    show master status;

    结果为:

    +------------------+----------+--------------+------------------+-------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000003 | 949 | | | |
    +------------------+----------+--------------+------------------+-------------------+

    查看ip地址

    vi /etc/hosts

    8. 进入slave容器进行处理。

    docker exec -it slave /bin/bash
    
    #输入
    mysql -u root -p
    #输入密码 Test6530

    CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='zhaobsh', MASTER_PASSWORD='Test6530', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=949;

    #跟上面的查询结果对应.

    9. 查看slave 的状态

    在mysql 下面执行
    
    start slave;
    show slave statusG

    10. 报错如图示

    这里需要改改 重启一下 master和 slave 貌似 之前的 my.conf 没生效

    重启一下 应该就可以了

    测试同步

    master 创建一个数据库

     slave 在前后查看 能够同步

     study From 

    https://blog.csdn.net/boling_cavalry/article/details/79751085

  • 相关阅读:
    MYSQL5.7.11安装问题
    Controllerizing the ScrollViewer Thumbnail
    WPF Tutorial
    How to properly release Excel COM objects
    How to detect and avoid memory and resources leaks in .NET applications
    [Forward]Ten Caching Mistakes that Break your App
    Process.StandardOutput
    .NET Framework posters with Namespaces & Types
    【转】常用 Microsoft .NET Framework 各版本下載網址列表
    6 ways to import data into SQL Server
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9521283.html
Copyright © 2011-2022 走看看