Enviornment:
1. OpenSolaris (當 replication 的master) : mysql(5.1) and mysql-proxy (0.6.1) -- 172.16.1.31
2. WinXP (當 replication 的slave) : mysql (5.1) -- 172.16.1.35
step 1 :先實作出 replication 的環境 .
1) on master :
a) edit my.ini :確認 [mysqld] 下有 log-bin=mysql-bin 和 server-id=1,如果使用innodb的話要再確認 innodb_flush_log_at_trx_commit=1
及 sync_binlog=1 這兩個參數
另外, skip-network 不可開啟會導致 bin-log 複製失敗.
b) create user for replication, mysql > grant replication slave on *.* to 'repl'@'%' identified by '1234';
2) on slave , edit my.ini :
確認 [mysqld] 下有 server-id=2
3) 確認 master 上的 replication information :
a) 先鎖住table, 使用 MySQL > flush tables with read lock;
b) 再取得master上的資訊 MySQL > show master status; <---請記下 file 及 position
4) 將資料由master上dump出來.
a) 使用mysqldump, shell > mysqldump --all-databases --master-data >dbdump.db
b) 如果是MyISAM ,可直接copy data目錄下的 *.frm, *.myi, *.myd
5) 接下來於slave server上執行以下statment :
a) mysql > change master to
-> master_host='172.16.1.31',
-> master_user='repl', <--這是第一步建立給slave要replication的帳號
-> master_password='1234', <--這是第一步建立給slave要replication的密碼
-> master_log_file='mysql-bin.000020', <--這是第三步由master取得的information; file
-> master_log_pos=106; <--這是第三步由master取得的information; position
* * 如果出現 ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first.
b) mysql > start slave;
step 2 : 使用MySQL Proxy
1. 安裝 :
a) 安裝需求: libevent 1.x or higher
lua 5.1.x or higher
glib2 2.6.0 or higher
pkg-config
MySQL 5.0.x or higher
MySQL Proxy 0.6.1
在opensolaris上安裝上述lib有很多麻煩,其中glib2可到官網上去下載自行編譯安裝,其餘的可透過opensolaris上的套件資料庫安裝.
沒有留言:
張貼留言