| 1 | = MySQL Replication = |
| 2 | == How to Set Up Replication == |
| 3 | 目的: |
| 4 | 我們假定A中心有一台Server Master1 ,而B中心有一台Server Master2. 為了方便我們在更新 Master1 的資料庫時, B中心的 Master2 資料庫也能同時更新而做到資料同步.[[BR]] |
| 5 | |
| 6 | 實驗環境: |
| 7 | Debian GNU/Linux Etch 4.0r4 with kernel 2.6.18[[BR]] |
| 8 | |
| 9 | '''步驟一 :''' 安裝 MySQL (假定 Master1 & Master2 都還沒有安裝 MySQL database)[[BR]] |
| 10 | |
| 11 | 使用指令[[BR]] |
| 12 | ''rider@ocean:~$ sudo apt-get install mysql-server-5.0 mysql-client-5.0''[[BR]] |
| 13 | |
| 14 | '''步驟二 :''' 為了要確保同步設定有效,我們讓MySQL可以在該網路介面上(interface)任意開啟監聽的埠(port)並藉由編輯 /etc/mysql/my.cnf 來註釋 bind-address. |
| 15 | |
| 16 | 使用指令[[BR]] |
| 17 | ''rider@ocean:~$ sudo vim /etc/mysql/my.cnf''[[BR]] |
| 18 | {{{ |
| 19 | # Instead of skip-networking the default is now to listen only on |
| 20 | # localhost which is more compatible and is not less secure. |
| 21 | # bind-address = 127.0.0.1 |
| 22 | }}} |
| 23 | |
| 24 | '''步驟三 :''' 重新啟動 MySQL |
| 25 | |
| 26 | 使用指令[[BR]] |
| 27 | ''rider@ocean:~$ sudo /etc/init.d/mysql restart''[[BR]] |
| 28 | |
| 29 | '''步驟四 :''' 檢查MySQL所開啟的連接埠 |
| 30 | |
| 31 | 使用指令[[BR]] |
| 32 | ''rider@ocean:~$ netstat -tunlp | grep mysql''[[BR]] |
| 33 | {{{ |
| 34 | tcp 0 0 *:mysql *:* LISTEN 2671/mysqld |
| 35 | }}} |
| 36 | |
| 37 | '''步驟五 :''' 設定 root@localhost 的MySQL使用者密碼 |
| 38 | |
| 39 | 使用指令[[BR]] |
| 40 | ''rider@ocean:~$ sudo mysqladmin -u root password yourrootsqlpassword''[[BR]] |
| 41 | |
| 42 | |
| 43 | |