要求:公司打算建立一个新平台,和以前的数据库完全分开
环境:centos 6.0 X64
2台机器事先搭建好mysql
master:192.168.33.112
slave:192.168.33.113
在master上my.cnf配置文件里面添加参数
找到【mysqld】配置段在下面调价2个参数
log-bin      = master112.bin  #指定二进制日志产生的所有文件的基本名
server-id    = 1              #指定服务器的ID,ID主从配置的必须不一样
添加一个复制用户(也就是slave用来连接master同步数据的账户)
mysql> create user rep_user;
mysql> grant replication slave on *.* to rep_user@'192.168.33.%' identified by '123456';
重启mysql(这一步一定要记得)
如果有多slave 最好多配置几个用户 这样如果想禁止某些slave的连接,只需要直接删除用户就可以了
在slave上的my.cnf配置文件的【mysqld】段
添加:
server-id    = 2
relay-log    = slave113-relay-bin #这段可以不要,默认的是主机名,我自己指定的是
slave113
重启mysql
登陆mysql运行如下命令
mysql> change master to 
    ->master_host='192.168.33.112',
    
->
master_port=3307,
    
->
master_user='rep_user',
    
->
master_password='123456';
mysql> start slave; 
mysql> show slave status\G         #
如果没有报错的话就表示成功了
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.33.112
                  Master_User: rep_user
                  Master_Port: 3307
                Connect_Retry: 60
              Master_Log_File: master112-bin.000002
          Read_Master_Log_Pos: 206
               Relay_Log_File: slave113-relay-bin.000006
                Relay_Log_Pos: 255
        Relay_Master_Log_File: master112-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          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: 206
              Relay_Log_Space: 662
              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: 
1 row in set (0.00 sec)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
查看二进制日志里面有哪些事件:show binlog events\G;   #默认查看的是第一个也就是xxxx-bin.000001
指定查看某个二进制文件日志:show binlog events in 'xxxxx-bin.000002'\G; #查看000002的日志文件
强制轮换二进制日志,从而等到一个完整的二进制日志文件:flush logs;