MYSQL單雙向同步

Master:192.168.1.101
Slave  :192.168.1.102
單向同步(一)
  1. 進入Master啓動MYSQL
    1. [root@localhost ~]# service mysqld start  
    2. Starting MySQL                                             [  OK  ] 
  2.  進入Mysql命令行模行
    1. [root@localhost ~]# mysql -uroot -p  
    2. Enter password:   
    3. Welcome to the MySQL monitor.  Commands end with ; or \g.  
    4. Your MySQL connection id is 9 to server version: 5.0.22-log  
    5.  
    6. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  
    7.  
    8. mysql>  
  3. 爲slave用戶添加同步專用權限
    1. mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO  'replication'@'192.168.1.102' identified by '123456';  
    2. Query OK, 0 rows affected (0.01 sec)  
    3.  
    4. mysql> Flush privileges;  
    5. Query OK, 0 rows affected (0.00 sec) 
  4. 建立更新日誌文件
    1. mkdir /var/log/mysql  
    2. chmod -R 775 /var/log/mysql  
    3. chown -R mysql:mysql /var/log/mysql 
  5. 配置/etc/my.conf
     
    log-bin=mysql-bin 啓用二制日誌系統
    server-id=1 ID  標示爲主,master_id必須爲1到232–1之間的一個正整數值
    binlog-ignore-db=mysql,test 設置須要忽略同步數據庫
    binlog-do-db=skydb or name.table 設置須要同步的數據庫或同步的表,若是多個庫,每一個庫增長一行.
    log-bin=/var/log/mysql/updatelog 設置log日誌文件名
  6. 本導入數據庫
    1. service mysqld stop  
    2.  
    3. cd /var/lib/mysql  tar -jxf skydb.tar.bz2    
    4.  
    5. #若是須要冷copy 那麼直接把數據完程複製到SLAVE上(可選)   
    6. scp skydb.tar.bz2 root@192.168.1.102:/var/lib/mysql  
    7.  
    8. service mysqld start 
  7. 配置SLAVE /etc/my.cnf
      
    server-id = 2 Master 與Slave的不能相同
    master-host = 192.168.1.101 指定MASTER地址
    master-user = replication 同步用戶名
    master-password = 123456 同步密碼
    master-port = 3306 同步端口
    master-connect-retry=60 斷開從新鏈接等待時間
    replicate-ignore-db=mysql 屏蔽須要同步數據庫
    replicate-do-db= skydb

    relay-log=slave-relay-bin
    同步數據庫

    生成日誌文件
     
 
 
 
    
 
 
 
    8.解壓MYSQL數據庫(可選 )
  1. cd /var/lib/mysql  
  2. tar -jxf sky.tar.bz2 
    9.配置SLAVE二進制數據庫記錄迴歸,達到同步
  1. [root@localhost ~]# mysql -uroot -p  
  2. Enter password:   
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.  
  4. Your MySQL connection id is 4 to server version: 5.0.22-log  
  5.  
  6. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  
  7.  
  8. mysql> slave stop;  
  9. Query OK, 0 rows affected (0.00 sec)  
  10.  
  11. mysql> show master status; #這句是在MASTER服務器裏面執行  
  12. +------------------+----------+--------------+------------------+  
  13. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  14. +------------------+----------+--------------+------------------+  
  15. updatelog.000004 |       98 |              |                  |   
  16. +------------------+----------+--------------+------------------+  
  17. 1 row in set (0.00 sec)  
  18.  
  19. mysql> CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000004',MASTER_LOG_POS=98;  
  20. Query OK, 0 rows affected (0.01 sec)  
  21.  
  22. mysql> slave start;  
  23. Query OK, 0 rows affected (0.00 sec) 
    10.若是出現mysql> slave start; ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
  1. change master to master_host='192.168.1.101'master_user='replication'master_password='123456',master_log_file='updatelog.000001'master_log_pos=98
     11.檢查是配置成功
  1. show slave status\G  
  2. Slave_IO_Running: YES  
  3. Slave_SQL_Running: YES 
 
 
配置同步(二)
    1.修改原有SLAVE的my.cnf
server-id = 2    不要和主 ID 相同
master-host = 192.168.1.101  指定主服務器 IP 地址
master-user = replication  制定在主服務器上能夠進行同步的用戶名
master-password = 123456    密碼 
 
master-port = 3306   同步所用的端口 
 
master-connect-retry=60     斷點從新鏈接時間 
 
replicate-ignore-db=mysql    屏蔽對 mysql 庫的同步
replicate-do-db=skydb 同步數據庫名稱 
 
relay-log=slave-relay-bin 啓用日誌
log-bin=/var/log/mysql/updatelog    設定生成log文件名
binlog-do-db=db1       設置同步數據庫名
binlog-ignore-db=mysql      避免同步mysql用戶配置
auto_increment_offset  =  2   
auto_increment_increment  =  2  
雙向同步必免建值衝突
相關文章
相關標籤/搜索