zoukankan      html  css  js  c++  java
  • mysql集群(主从)

    本文主要记录mysql 主从配置。

    经典的原理图

    0、环境:

    • 采用阿里云ECS服务器,同区同配置,操作系统为ubuntus 14 64位,服务器如下:

        服务器A:
        内网IP: 10.44.94.219
        服务器B:
        内网IP: 10.44.94.97

    • 安装mysql环境,命令如下:

        sudo apt-get update
        sudo apt-get install mysql-server mysql-client


    1 Master 配置:

    • 创建复制账号:

        GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'10.44.94.97' IDENTIFIED BY 'fredric';

    • 拷贝数据(若存在历史数据)
    • 开启bin-log

        在my.cnf文件[mysqld]标签下增加
        log-bin=mysql-bin.log
        server-id=97
        #server-id 建议采用ip地址末尾

        备注:若binlog目录指定在其他地方,需要修改文件夹权限
        配置完重启mysql 服务:sudo /etc/init.d/mysql restart
        进入后输入:SHOW MASTER STATUS

    显示:

    +------------------+----------+--------------+------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000002 | 107 | | |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)

    2 Slave 配置

    • 开启复制日志


    在my.cnf文件[mysqld] 标签下增加
    log_bin = mysql-bin.log
    server_id = 219
    relay_log = mysql-relay-bin.log
    log_slave_updates = 1 #Slave同步从Master同步数据过来的时候,log_slave_updates参数用来控制Slave是否把所有的操作写入到binary log
    read_only = 1 #Slave为只读

    • 配置Slave

    CHANGE MASTER TO MASTER_HOST='10.44.94.219',
    MASTER_USER='backup',
    MASTER_PORT=3306,
    MASTER_PASSWORD='fredric',
    MASTER_LOG_FILE='mysql-bin.000002',
    MASTER_LOG_POS=107;

    • 开启复制

      START SLAVE;
      输入:SHOW SLAVE STATUSG; 显示:

    Slave_IO_State: Waiting for master to send event
    Master_Host: 10.44.94.219
    Master_User: backup
    Master_Port: 3306
    Connect_Retry: 60
    Master_Log_File: mysql-bin.000002
    Read_Master_Log_Pos: 107
    Relay_Log_File: mysql-relay-bin.000002
    Relay_Log_Pos: 253
    Relay_Master_Log_File: mysql-bin.000002
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    测试遇到的问题:

    报错:Last_IO_Error: error connecting to master

    SLAVE服务器无法通过局域网IP连接MASTER服务器的数据库,原因是mysql默认安装时只绑定127.0.0.1这个IP访问,因此要修改my.cnf注释掉其中的bind-address = 127.0.0.1

  • 相关阅读:
    使用nacos遇到的一些问题
    nodejs连接redis集群
    redis集群部署
    mongodb集群部署
    Mongodb删除重复数据
    docker exception
    .NET Code WebApi CentOS部署
    .NET Core 在Visual Studio Code的基本操作命令
    Mongodb对内嵌数组的增删改
    System.Web.Optimization
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/5765683.html
Copyright © 2011-2022 走看看