2008年4月12日 星期六

02)MySQL Replication

MySQL Replication 可以把資料庫即時複製到另一台主機, MySQL 備援、Load Balance 都會用到.範例: A(Master, IP:10.1.1.1) -> B(Slave)先把兩邊的 MySQL 停掉, 把 A 的資料庫複製到 B, 用 tar 的就可以了.

A(Master) my.cnf 設定

[mysqld]

server-id=1

log-bin

binlog-do-db=dbname

B(Slave) my.cnf 設定

[mysqld]

master-host=10.1.1.1

master-user=root

master-password=password

replicate-do-db=dbname

log-slave-updates

Slave 必需有權限可以存取 Master 的指定資料庫, 設完後啟動兩邊的 MySQL.檢查:在 A 進入 mysql -u rootshow master status; 看看有無指定資料庫的資料.

在 B 進入 mysql -u rootshow slave status; 看看有無指定資料庫的資料, 並且有兩個 Yes.

測試:在 A 指定資料庫建立一個新的 Table, 看看 B 有沒有自動建立.

若無法成功, 把兩邊的 MySQL 停掉, 到 MySQL 資料目錄(預設在/var/lib/mysql),

rm -f *-bin.* *.info再把兩邊的 MySQL 啟動

.ref. MySQL Replication 設定分享

引用

沒有留言: