zoukankan      html  css  js  c++  java
  • MySQL主从集群搭建实战

    关于MySQL主从集群搭建,前面已经有一篇文章--MySQL主从集群搭建讲过,文中是在同一个机器上搭建的,并且当时以主库上没有原始数据为例介绍的。

    本文介绍的场景,是主库上已经有数据了,更贴近实际生产环境的应用场景。

    将要搭建的集群实例信息如下:

    角色 IP 端口
    主库 192.168.1.81 3306
    从库1 192.168.1.82 3306
    从库2 192.168.1.83 3306

    1.备份主库数据

    在主库上执行备份:

    $mysqldump --master-data=2 --single-transaction --default-character-set=utf-8 -R --triggres -A >backup.sql
    

    其中,
    --master-data=2代表备份时刻记录master的Binlog位置和Position,
    --single-transaction意思是获取一致性快照,-R意思是备份相关的存储过程,--triggres的意思是备份触发器相关信息,-A代表备份所有schema。

    2.创建复制用户

    在主库上创建复制用户:

    mysql>grant replication slave on *.* to 'repl'@'192.168.1.%' identified by '123456';
    

    3.查看主库上备份时刻的日志位点

    查看MASTER_LOG_FILEMASTER_LOG_POS

    $ head -n 30 backup.sql |grep -i "CHANGE MASTER TO"
    
    --CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000020', MASTER_LOG_POS=178;
    

    4.将备份复制到从库

    $ scp backup.sql ip82:/home/mysql/
    $ scp backup.sql ip83:/home/mysql/
    

    5.搭建从库

    首先在从库ip82恢复数据:

    $ mysql -f –default-character-set=utf-8 <backup.sql
    

    接着,配置复制信息:

    $ mysql –S /tmp/mysql_3306.sock
    
    msql>change master to master_host='192.168.1.181',master_user='repl',master_ password='123456', master_Port=3306,MASTER_LOG_FILE='mysql-bin.000020', MASTER_LOG_POS=178;
    

    最后,开启复制

    mysql >start slave;
    

    查看复制状态:

    > show slave statusG;
    Master_Host: 192.168.1.81
    Master_User: repl
    Master_Port: 3306
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    ... ....
    

    从库83的搭建过程同上。

    到此,主从复制集群搭建完成。

  • 相关阅读:
    14 微服务电商【黑马乐优商城】:day06-使用nginx反向代理并掌握cors解决跨域
    Docker容器化【Docker安装与启动&Docker镜像与容器相关命令】
    [LeetCode]Palindrome Number 验证回文数
    C++结构体定义构造函数
    C++中explicit关键字的使用
    C++ const关键字
    图像梯度(Image Gradient)
    ORB特征点匹配
    c++:internal compiler error:killked(program cclplus) 解决办法
    最小二乘通俗解释
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/13508032.html
Copyright © 2011-2022 走看看