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;

 

你可能感兴趣的:(Mysql主从)