天天看點

mysql 主從複制

mysql 機器

  • 主機 IP :192.168.1.112
  • 從機 IP :192.168.1.114

主機配置

  • my.ini 配置 (修改後重新開機服務)

# 主從複制主伺服器配置

server-id = 2222

#開啟log-bin日志

log-bin = mysql-bin

#隻複制employees 資料庫

binlog-do-db = employees

配置說明

  • server-id 辨別伺服器的id
  • 以二進制log 複制
  • binlog-do-db 要複制的資料
  • 查詢主機狀态,記錄主機 file 與 position

mysql> show master status

-> ;

+------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

| mysql-bin.000001 | 154 | employees | | |

1 row in set (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

  • 主機添加允許從機複制賬号

mysql> grant replication slave on *.* to replMaster@'192.168.1.114' identified by 'replMaster'

從機配置

  • my.ini (修改後重新開機服務)

#mysql主從複制 slave 配置

server-id = 203

#隻同步 employees 資料庫

replicate-do-db = employees

relay-log-index = slave-relay-bin.index

relay-log = slave-relay-bin

  •  執行同步指令,設定主資料庫ip,同步帳号密碼,同步位置  

master_log_pos,master_log_file 就是在主機執行 show master status 後,擷取的值

mysql> change master to master_host='192.168.1.112',master_user='replMaster',master_password='sqlsa',master_log

_pos=1606,master_log_file='mysql-bin.000009' ;

Query OK, 0 rows affected, 2 warnings (0.56 sec)

mysql> start slave;

Query OK, 0 rows affected (0.07 sec)

  • 檢視從機狀态

mysql> show slave status\G

mysql 主從複制
mysql 主從複制

如果一切設定正确,那麼mysql 主從複制就一切OK 了。

  • 驗證
mysql 主從複制

從機資料

+-

mysql 主從複制

主機資料

mysql 主從複制