美文网首页
windows docker mysql

windows docker mysql

作者: 安石石 | 来源:发表于2018-12-30 14:10 被阅读0次

    使用 Windows powershell

    cmd下使用会出现一系列问题

    拉取镜像

    docker pull mysql
    

    创建容器

    docker create --name mysqlsrv1 -v E:\docker\db\mysql\my1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你的密码 -p 3307:3306 mysql
    

    启动容器

    docker start mysqlsrv1
    

    测试

    docker ps
    
    图片.png
    docker exec -it mysqlsrv01
    mysql -uroot -p
    
    图片.png

    tip:若提示 Error response from daemon: Drive has not been shared 请将设备磁盘设置为共享

    图片.png
    图片.png

    tip:若此时使用 navicat 连接可能会出现


    图片.png
    alter user 'root'@'%' identified by '你的密码' password expire never;
    alter user 'root'@'%' identified with  mysql_native_password by  '你的密码';
    flush privileges;
    alter  user 'root'@'%' identified by '你的密码';
    

    主从配置

    # 高版本 当前版本:mysql  Ver 14.14 Distrib 5.6.41, for Linux (x86_64) using  EditLine wrapper
    create user 'repldocker'@'192.168.0.%' identified by '密码';
    GRANT REPLICATION SLAVE ON *.* TO 'repldocker'@'192.168.0.%';
    
    
    GRANT REPLICATION SLAVE ON *.* TO 'repldocker'@'192.168.0.%'; IDENTIFIED BY '密码';
    GRANT REPLICATION SLAVE ON *.* TO 'repldocker'@'192.168.0.%' IDENTIFIED BY '密码' with grant option;
    

    修改主服务器配置

    [mysqld]
    log-bin=mysql-bin   //[必须]启用二进制日志
    server-id=140       //[必须]服务器唯一ID,默认是1,一般取IP最后一段
    

    重启 service mysql restart

    查看 binlog是否启用 show variables like '%log_bin%' ;

    +---------------------------------+--------------------------------+
    | Variable_name                   | Value                          |
    +---------------------------------+--------------------------------+
    | log_bin                         | ON                             |
    | log_bin_basename                | /var/lib/mysql/mysql-bin       |
    | log_bin_index                   | /var/lib/mysql/mysql-bin.index |
    | log_bin_trust_function_creators | OFF                            |
    | log_bin_use_v1_row_events       | OFF                            |
    | sql_log_bin                     | ON                             |
    +---------------------------------+--------------------------------+
    

    docker 安装 vim

    • apt update 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引
    • apt install vim 安装 vim

    尝试源码安装
    ftp://ftp.vim.org/pub/vim/unix/
    https://blog.csdn.net/gatieme/article/details/43883261

    docker 下配置 mysql 从服务器 binlog

    vim /etc/mysql/my.cnf
    添加

    log-bin=mysql-bin
    server-id=3307
    

    重启mysql容器
    docker restart mysqlsrv1

    简化版

    docker exec mysqlsrv1 bash -c "echo 'log-bin=mysql-bin' >> /etc/mysql/my.cnf"
    docker exec mysqlsrv1 bash -c "echo 'server-id=3307' >> /etc/mysql/my.cnf"
    docker restart mysqlsrv1
    
    
    change master to master_host='192.168.0.47', master_port=3306,master_user='repldocker',master_password='master中创建的用户密码',master_log_file='mysql-bin.000001',master_log_pos=120;
    

    tip:配置中间用 , 尽量不用 空格
    成功连接状态

    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event 之前配置错误时一直显示: Connecting to master
                      Master_Host: 192.168.0.47
                      Master_User: repldocker
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000001
              Read_Master_Log_Pos: 892
                   Relay_Log_File: fe1d594c7842-relay-bin.000002
                    Relay_Log_Pos: 318
            Relay_Master_Log_File: mysql-bin.000001
                 Slave_IO_Running: Yes 之前配置错误时一直显示: Connecting
                Slave_SQL_Running: Yes
                 Master_Server_Id: 47
                      Master_UUID: 0684ced9-af5b-11e8-94fd-00163e0hhhhh 之前配置错误时此处为空;
                 Master_Info_File: mysql.slave_master_info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
               Master_Retry_Count: 86400
    

    ref

    相关文章

      网友评论

          本文标题:windows docker mysql

          本文链接:https://www.haomeiwen.com/subject/tnhmlqtx.html