close
實 驗 環 境
*由於KEYNES最近測試 MySQL Proxy 設計讀寫分流以達-MySQL負載平衡:近期將吐出*
剛把MYSQL 版本從5.0升級到5.5.8,察知某些組態設定於舊版5.0不適用特別於此文章
重新標示一下(點出: Master與Slave 需注意事項),本例還是以5.0版本實作,完畢!
*由於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資料庫動作
MySQL-ServerB:我們定義為Slave DB
本LAB我們將實作DB1 Data 複寫至DB2資料庫動作
Master 設定部份
(1.) 停止 MySQL-ServerA, MySQL-ServerB 的 Mysqld 服務 ,
並切換MYSQL 存放的資料庫目錄下(/var/lib/mysql/)進行資料庫壓縮backup
並切換MYSQL 存放的資料庫目錄下(/var/lib/mysql/)進行資料庫壓縮backup
shell> service mysqld stop
shell> cd /var/lib/mysql
mysql> tar zcvf /root/mysqldb.tgz ./
#將所有資料庫檔案壓縮打包後放至 /root 下 <-----可更改指定backup目錄
#將所有資料庫檔案壓縮打包後放至 /root 下 <-----可更改指定backup目錄
(2.)利用SCP 將 MySQL-ServerA /root/mysqldb.tgz 檔
傳送至MySQL-ServerB 主機中
/var/lib/mysql 下
傳送至MySQL-ServerB 主機中
/var/lib/mysql 下
現在暫且切換為 MySQL-ServerB 的 /var/lib/mysql 進行mysqldb.tgz
解壓縮與ServerA 資料同步
解壓縮與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) 存取之用
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請設定密碼
IDENTIFIED BY 'xxxxx'; #xxxxx請設定密碼
mysql> SHOW MASTER STATUS ;

//查看目前設置狀況並記下File與Position值(等會設定ServerB會用到)

//查看目前設置狀況並記下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,尚還適用
#注意最近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檔
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_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
查看 Slave_IO_Running: Yes , Slave_SQL_Running: Yes
//若為Yes表示兩台MySQL同步成功(Replication)

全站熱搜