美文网首页DB优化
四、Mysql集群化部署,做到同步备份

四、Mysql集群化部署,做到同步备份

作者: 螃蟹和骆驼先生Yvan | 来源:发表于2018-07-24 19:14 被阅读57次

    一.Rancher基础镜像查找:

    1.基础镜像操作地址:https://hub.docker.com/r/library/mariadb/
    
    2.选择自己需要的镜像进行搜索,里面有对应版本;也有最新的如图我选择最新的mariadb:latest
    
    
    mysql镜像 rancher安装mysql

    二.Mysql集群化部署,做到同步备份

    安装mysql操作
    直接填写名称就行了

    rancher配置Mysql如图:


    mysql配置密码
    将配置文件通过nfs共享到容器

    1.这上面配置就是共享文件:左边是你共享服务器地址 ,右边是容器内部的地址


    image.png
    2.调度字面理解你这个容器要放在那台主机运行:
    该容器在那台服务器运行
    3.创建两个mysql作为集群如图两个基本配置是一样的,记得映射那些地址别都搞一样的:
    image.png

    这里还要关联起来是slave启用master:


    image.png
    4.这里我需要说一下重点如何让slave和master保持同步关键就是我们需要手动配置两个配置文件分别放在我们上面配置conf的文件位置:
    master.png
    [mysqld]
    server_id=83
    log-bin=master-bin
    log_bin_index=master-bin.index
    binlog_format=mixed
    binlog-checksum=CRC32
    sync-master-info=1
    sync_relay_log_info=1
    expire_logs_days=90
    master-verify-checksum=ON
    slave-sql-verify-checksum=ON
    sync-binlog=1
    
    slave.png
    [mysqld]
    server_id=84
    log-bin=slave-bin
    log_bin_index=slave-bin.index
    relay_log=relay-bin
    relay_log_index=relay-bin.indexd
    relay_log_info_file=relay-bin.info
    log_slave_updates=ON
    relay_log_recovery=ON
    slave-parallel-threads=2
    replicate-ignore-db=mysql
    read_only=ON
    binlog_format=mixed
    binlog-checksum=CRC32
    sync-master-info=1
    sync_relay_log_info=1
    expire_logs_days=90
    master-verify-checksum=ON
    slave-sql-verify-checksum=ON
    

    5.如图master和slave文件存放位置记得放过必须重启容器,否则文件不会生效:


    两个配置存放地址

    6.这里还需要执行命令让配置文件生效:
    这里需要提示三条命令:
    1.停止:stop slave; 这里针对是slave启动命令:start slave;
    2.进入mysql命令mysql -uroot -pd6053c0221df11e8b4670ed5f89f718b

    1. 这里要注意在master的查询:select @@global.gtid_current_pos; 记得参数可变是slave的里面gtid_slave_pos需要查询因为不是固定的这里要注意
    ## mysql master配置slave
    ```sql
    use mysql;
    source /usr/share/mysql/mysql_system_tables.sql;
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'd6053c0221df11e8b4670ed5f89f718b';
    show master status;
    SELECT BINLOG_GTID_POS("master-bin.000003", 24030);
    flush privileges;
    ```
    ## mysql slave配置master
    ```sql
    use mysql;
    source /usr/share/mysql/mysql_system_tables.sql;
    SET GLOBAL gtid_slave_pos = "0-83-7166";
    change master to master_host='mysql-master', master_user='repl', master_password='d6053c0221df11e8b4670ed5f89f718b', master_port=3306, master_use_gtid=slave_pos;
    show slave status;
    start slave;
    ```
    

    7.我的数据库密码是qian5203344,如图操作:
    Master:


    image.png
    image.png

    Slave:


    image.png
    image.png
    image.png

    6.检查是否成功:
    就是远程连接mysql我们开通一个8015端口还记得吗,连接上master添加一个数据库,然后在slave分库里面查,如果能查到说明你集群化部署好了,如图slave自动同步数据库


    image.png
    image.png

    相关文章

      网友评论

        本文标题:四、Mysql集群化部署,做到同步备份

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