Home > Database > Mysql Tutorial > MySql主从复制配置示例_MySQL

MySql主从复制配置示例_MySQL

WBOY
Release: 2016-05-30 17:11:29
Original
1230 people have browsed it

最近研究mysql,从oracle官网下了一个最新的5.6的mysql,压缩版的。今天尝试一下Mysql的复制功能,花了好久才整出来,把心得分享出来。

用的是我们开发用的库,部署在测试环境,测试环境的mysql版本居然是5.1的。

1.主服务器配置

cd /etc,找到my.cnf,然后再这个配置文件加上复制要用的配置

 

server-id       = 1
log-bin=mysql-bin
binlog-do-db=wx
Copy after login

主服务器需要一个独一无二的server id,log-bin表示启用二进制日志,binlog-do-db表示选择记录日志的数据库

2.从机配置

打开my.ini,加上和服务器类似的配置

server-id=2
log-bin=mysql-bin 
replicate-do-db=wx
Copy after login

3.将主机上的wx数据库拷给从机。这步一定要执行,不然后面一定会报错。我就是忽略了这一步,导致试了好几次都没有成功!当然,这一步可以用任何方法做,用工具,用mysqldump后从机执行都可以。

4.主机上建复制账号

主机的mysql命令行下执行如下命令,建一个用来复制的账号,和密码

grant replication slave  
on *.*  
to 'replication'@'%' identified by '123'; 
Copy after login

然后查主机的状态

mysql> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.000003
        Position: 256
    Binlog_Do_DB: wx
Binlog_Ignore_DB: 
1 row in set (0.00 sec)
Copy after login

Position和File都是后面有用的

5.从机关联主机操作

从机上执行关联主机的命令,并重启从机。

change master to  
master_host = '192.168.146.120',  
master_user = 'replication',  
master_password = '123',  
master_log_file = 'mysql-bin.000003',  
master_log_pos = 256;  
start slave; 
Copy after login

6.验证操作

主机上wx库找张表,插入一条语句,从机立刻复制过来。

查看从机状态。

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.146.120
                  Master_User: replication
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 708
               Relay_Log_File: CDYJY-LVSHENG1-relay-bin.000004
                Relay_Log_Pos: 265
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: wx
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 708
              Relay_Log_Space: 588
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID:
             Master_Info_File: D:\DevelopTools\DB\mysql-5.6.26-winx64\data\master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00 sec)
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template