1.

在WIN那台..MY.INI設定

server-id = 1  <–MASTER的設定id
log-bin = mysql-bin    <–代表要讓MySql產生日誌 ,檔名為mysql-bin
slave-skip-errors=all    <–跳過錯誤,繼續執行複製
binlog-do-db= dupe    <–指定要同步dupe這個db

重新啟動mysql

開啟mysql command line

GRANT replication slave ON *.* TO ‘同步用的帳號‘@’Slave的IP’ IDENTIFIED BY ‘同步用的密碼’ ;

FLUSH PRIVILEGES;

show master status;

會出現

sshot-1

 

 

 

記下file跟Position 等下會用到

2.把master的資料轉到slave去…

不可以離開此 session, 需要另外開一個 session 來倒資料, 離開此 session 就不會 lock table 了.

倒資料, 可以由下述的方法倒,

$ mysqldump -u root -p dupe > dbdump.sql

把dbdump.sql想辦法弄到第二台

在第二台

joe /etc/mysql/my.cnf

新增

server-id               = 2   <–這個改為2
log_bin                 = /var/log/mysql/mysql-bin.log
slave-skip-errors=all
replicate-do-db = dupe   <—只同步dupe

/etc/init.d/mysql restart  <–restart mysql

$ mysql -u root -p # 進入 mysql

mysql> create database dupe;

mysql> use dupe ; source dbdump.sql;

CHANGE MASTER TO
MASTER_HOST=’主機’,
MASTER_USER=”同步用的帳號’,
MASTER_PASSWORD=’同步用的密碼’,
MASTER_LOG_FILE=’之前抄下的file’,
MASTER_LOG_POS=之前抄下的Position; # 這邊就要用到之前 Master 抄下來的值.

START SLAVE;

mysql> show master status; # 檢查一下設定

mysql> show slave status; # 檢查一下設定, 看是不是有異常狀況.

mysql> show slave status\G;

看下列四個值對不對

Relay_Master_Log_File: mysql-bin.000002  <—是不是之前抄下來的file
Slave_IO_Running: Yes                                       <—這個要yes
Slave_SQL_Running: Yes                                   <—這個要yes
Replicate_Do_DB: dupe                                      <–同步的db是否設定正確

去dupe建一個table

看slave上面的dupe是不是也同樣新增了一個table

如果有表示正常

 

 

 



 


Write a comment

Name