zoukankan      html  css  js  c++  java
  • mysql主从配置

      在应对数据库压力的时候,选择读写分离是比较常用的手段,下面将总结一下,如何配置读库和写库,以及读写不同步的时候如何去保持同步。在这里,我们将写库称为主库,读库称为从库

    主从库的基本配置

    1、主库的配置:

        a、分配权限  

    grant replication slave on *.* to 'repl_90'@'192.168.90.90' identified by 'sina_sport';

      

     b、修改主库配置文件

            server-id       = 91003306  #保持唯一即可
            log-bin         = mysql-bin
            relay-log       = mysql-relay-bin
            binlog-ignore-db=information_schema
            binlog-ignore-db=cluster
            binlog-ignore-db=mysql    

       c、重启主库服务

    2、从库的配置    

     a、修改从库配置文件  

            server-id       = 890091     #保持唯一即可
            log-bin         = mysql-bin
            relay-log       = mysql-relay-bin

       

      b、重启从库服务
            
        
        c、执行主从同步sql

            mysql>CHANGE MASTER TO
                    MASTER_HOST='192.168.90.91',
                    MASTER_USER='repl_90',
                    MASTER_PASSWORD='sk_sport',
                    MASTER_PORT=3306,
                    MASTER_LOG_FILE='mysql-bin.000001',
                    MASTER_LOG_POS=98,
                    MASTER_CONNECT_RETRY=10; #可不填写
            
            mysql>start slave;

              其中,MASTER_LOG_FILE和MASTER_LOG_POS 在主库中执行show master status可以看到
                    
    3、验证服务
       

    mysql> show processlist;
    +----+---------+----------------------+------+-------------+--------+-----------------------------------------------------------------------+------------------+
    | Id | User    | Host                 | db   | Command     | Time   | State                                                                 | Info             |
    +----+---------+----------------------+------+-------------+--------+-----------------------------------------------------------------------+------------------+
    |  6 | repl_90 | X.X.X.X:54004 | NULL | Binlog Dump | 245837 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL             |
    |  7 | repl_90 | X.X.X.X:33431 | NULL | Binlog Dump | 245716 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL             |
    | 86 | root    | localhost            | NULL | Query       |      0 | NULL                                                                  | show processlist |
    +----+---------+----------------------+------+-------------+--------+-----------------------------------------------------------------------+------------------+

    其中X.X.X.X是从库的IP地址或者域名

    主从不同步的处理办法

    1、从库执行停止从库

    mysql> slave stop;      

    2、查看主库binlog

    mysql> flush logs;
    mysql> show master status; +------------------+----------+--------------+----------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+----------------------------------+ | mysql-bin.000025 | 14628 | | information_schema,cluster,mysql | +------------------+----------+--------------+----------------------------------+

    3、从库执行,保持同步

    mysql> CHANGE MASTER TO MASTER_HOST='x.x.x.x',
                MASTER_USER='user',
                MASTER_PASSWORD='password',
                MASTER_LOG_FILE=' mysql-bin.000025',
                MASTER_LOG_POS=14628; 
    mysql
    > START SLAVE;
  • 相关阅读:
    Objective-C NSString基本使用 类方法 self关键字
    Objective-C 封装 继承 多态
    Objective-C 类和对象
    Objective-C 第一个小程序
    python基础--函数作用域
    python基础--函数1
    python基础--文件操作
    python基础--集合
    python基础--字典
    python基础--列表,元组
  • 原文地址:https://www.cnblogs.com/yimuren/p/3985978.html
Copyright © 2011-2022 走看看