• ADADADADAD

    docker下如何部署MySQL8基于GTID的主从复制[ mysql数据库 ]

    mysql数据库 时间:2024-11-28 13:01:05

    作者:文/会员上传

    简介:

    安装docker#yum install docker添加docker镜像仓库#vim /etc/docker/daemon.json {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}拉取mysql镜像*# docker p

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    安装docker
    #yum install docker
    添加docker镜像仓库
    #vim /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }

    拉取mysql镜像
    *# docker pull mysql

    创建mysql容器
    # docker run -dit --name lisamysql001 -p 33307:3307 -e MYSQLROOTPASSWORD=123456 mysql
    # docker run -dit --name lisamysql002 -p 33308:3308 -e MYSQLROOTPASSWORD=123456 mysql

    进入mysql容器
    # docker exec -it lisamysql001 /bin/bash
    # docker exec -it lisamysql002 /bin/bash

    在mysql容器中登陆mysql,竟然还是mysql8.0版本呢。真香!

    下面开始进入容器部署基于GTID的主从复制:
    容器lisa_mysql001为主库,lisa_mysql002为从库
    进入主库(lisa_mysql001)给docker容器安装vim(方便我修改my.cnf文件)
    #docker exec -it lisa_mysql001 /bin/bash
    #apt-get update
    #apt-get install vim -y
    安装ifconfig的包,查看容器IP地址
    #apt-get install net-tools -y
    安装ping命令
    # apt-get install inetutils-ping -y

    主库(lisa_mysql001)的IP地址是:172.17.0.2

    配置主库的my.cnf,添加下面内容
    #cat /etc/mysql/my.cnf
    server-id=001
    gtid-mode=on
    enforce-gtid-consistency=on
    log_bin = binlog

    修改完主库的配置文件后,退出mysql容器,重启mysql
    *# docker restart lisamysql001

    为从库建立同步账号
    #mysql -uroot -p123456
    mysql>create user 'repl'@'172.17.0.%' identified by '1225119';
    mysql>grant replication slave on . to 'repl'@'172.17.0.%';
    mysql>flush privileges;

    查看主库的uuid和状态
    mysql>show global variables like '%uuid%';
    从库配置成功后,测试主从复制能否同步。

    从库配置
    # docker exec -it lisamysql002 /bin/bash
    #apt-get update
    #apt-get install vim -y
    安装ifconfig命令,查看容器IP地址
    #apt-get install net-tools
    -y
    安装ping命令
    # apt-get install inetutils-ping -y
    从库(lisa_mysql001)的IP地址是:172.17.0.3
    测试能否和主库通信
    # ping 172.17.0.2
    配置从库的my.cnf,添加下面内容
    server-id=002
    gtid-mode=on
    enforce-gtid-consistency=on
    log-slave-updates = on
    修改完从库的配置文件后,退出mysql容器,重启mysql
    *# docker restart lisamysql002

    测试我们在主库建的账户能不能从从库登陆
    *# mysql -urepl -h272.17.0.2 -p
    配置从库指定主库
    mysql> change master to master_host='172.17.0.2',master_user='repl',master_password='1225119';
    mysql> start slave;
    mysql> show slave status\G
    主库建了一个名字为songlisha的库后,从库接受到了。

    docker下如何部署MySQL8基于GTID的主从复制.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: dockermysqlgtid