close
實 驗 環 境

*由於KEYNES最近測試 MySQL Proxy 設計讀寫分流以達-MySQL負載平衡:近期將吐出*
 
  剛把MYSQL 版本從5.0升級到5.5.8,察知某些組態設定於舊版5.0不適用特別於此文章

  重新標示一下(點出: Master與Slave 需注意事項),本例還是以5.0版本實作,完畢!
 
MySQL Master-Slave使用平台: CentOS 5.3: MySQL 5.0 Ver.
 
MySQL-ServerA: 192.168.61.88 (Master)
 
MySQL-ServerB: 192.168.61.99 (Slave)
 
-----------------------------------------------------

 
MySQL-ServerA:我們定義為Primary DB

MySQL-ServerB:我們定義為Slave DB

本LAB我們將實作DB1 Data 複寫至DB2資料庫動作

Master 設定部份
 
(1.) 停止 MySQL-ServerA, MySQL-ServerB 的 Mysqld 服務 ,

     並切換MYSQL 存放的資料庫目錄下(/var/lib/mysql/)進行資料庫壓縮backup
 
      shell>  service  mysqld  stop
 
    shell>  cd  /var/lib/mysql
 
    mysql> tar  zcvf /root/mysqldb.tgz   ./          

  #將所有資料庫檔案壓縮打包後放至 /root 下  <-----可更改指定backup目錄
 
(2.)利用SCP 將 MySQL-ServerA /root/mysqldb.tgz

     傳送至MySQL-ServerB 主機中 
 
    
/var/lib/mysql
     

    scp /root/mysqldb.tgz   root@192.168.61.99:/var/lib/mysql                   

    #輸入認證密碼後傳輸OK
 
    現在暫且切換為 MySQL-ServerB   /var/lib/mysql 進行mysqldb.tgz 

    解壓縮與ServerA 資料同步
 
       shell> cd /var/lib/mysql
 
     mysql> tar zxvf  mysqldb.tgz 
 
(3.)切換ServerA  vi /etc/my.cnf 開始進行 Mysql_A 配置(加入以下設置後請wq!離開)
 
    [mysqld]
 
     log-bin = mysql-bin                      //設置log檔
    
     server-id = 1688001                     //設置 server id,可任意設置
    
     binlog-do-db = wuda                // 指定需要同步複寫的資料庫
    
     binlog-ignore-db = mysql        // 指定不需要同步複寫的資料庫
 
   
 
(4.) 啟動MySQL服務並登入MYSQL ,建立授權使用者CICI
 
      MySQL-ServerB(SLAVE) 存取之用
 
      shell> service mysqld start
     
      shell>  mysql -u root -p
 
      mysql>  GRANT REPLICATION SLAVE ON *.* TO 'cici'@'192.168.61.99' \
 
                    IDENTIFIED BY 'xxxxx';        #xxxxx請設定密碼  
 
      mysql>   SHOW MASTER STATUS ;      

    
 //查看目前設置狀況並記下File與Position值(等會設定ServerB會用到)     
 
(5.) 切換ServerB vi /etc/my.cf 開始進行 Mysql_B 配置(加入以下設置後請wq!離開)

      
#注意最近KEYNES測試新版本MySQL: mysql-5.5.8-1 (準備測MySQL Proxy)

       下圖部份標示橄欖綠顏色組態設定已於新版MySQL不適用,

        請省略該設定(如果使用最新版本MySQL)

        此Lab操作若使用舊版MySQL.5.0,尚還適用
 
        server-id   = 1688002             //ServerB_亦需配置一個id(通常設置連號)
        master-host  =  192.168.61.88         //指定Master MYSQL Server ip
        master-user  =    cici                      // 授權使用者
        master-password = c30819              // 授權使用者密碼
        master-port = 3306                        //MySQL Port號
        master-connect-retry = 60              //每六十秒建立連線
        log-bin=mysql-bin  
        replicate-do-db=cacti
        log-slave-updates
        relay-log = host_mame-relay-bin                             // LOG檔
 
          * 啟動MySQLB服務並登入ServerB_MySQL將 Slave 停止 *
 
          shell>  mysql -u root -p
     
          mysql> slave stop;
        
 
    
 
(6.) 進入Mysql (Server B)繼續進入Master設置
 
   mysql>  CHANGE MASTER TO          #注意參數為大寫
-> MASTER_HOST='192.168.61.88',    //Master Mysql-Server IP地址   
-> MASTER_USER='cici',                   //授權使用者 
-> MASTER_PASSWORD='xxxxx',   //授權使用者密碼
-> MASTER_LOG_FILE=' mysql-bin.000003 ',  // Master MySQL Server FILE 檔案名稱
 
-> MASTER_LOG_POS=98;                       //Master MySQL Server Position值
 
    * 啟動MySQLB Slave  *
          
     
          mysql> slave start;
 
 
 
(7)於Mysql-ServerB 下 SHOW SLAVE STATUS\G ;  

    查看
Slave_IO_Running: Yes , Slave_SQL_Running: Yes
 
                                                                                                                                                             //若為Yes表示兩台MySQL同步成功(Replication)
 
      
 
      
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 終極.凱因斯 的頭像
    終極.凱因斯

    NEIL`s_IT技術學習分享發表Blog

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()