1. 程式人生 > >Windows上進行mysql主從資料庫步驟

Windows上進行mysql主從資料庫步驟

環境要求:Windows 作業系統 以及 Mysql 5.7
假設資料庫A為主機,資料庫B為從機(A向B提供同步服務,即B中的資料來自A)
A機器:IP=192.168.4.134
B機器:IP=192.168.4.117

下面看單向同步的配置步驟:

1 在機器A中建立一個新的資料庫
檢查是否開啟InnoDB引擎

為資料庫啟動InnoDB引擎的方法
  Mysql中預設的是MyISAM資料引擎,可惜此引擎不支援事務處理,我們需要將預設的資料引擎改為InnoDB。
  其中InnoDB和BerkeleyDB支援事務處理,只是預設的情況下都是被disable的。所有的引擎裡面,InnoDB效能最強大,算是商業級的。
  啟動InnoDB引擎的方法如下:
  1)關閉mysql的服務
  2)修改my.ini
  將default-storage-engine=INNODB前的註釋(#)去掉
  將skip-innodb這行註釋(加上#)
  3)儲存後重啟mysql服務  

2 開啟A機器的mysql安裝目錄下的my.ini檔案
在檔案最後新增:

server-id=1  
log-bin=c:\mysqlback #啟動同步事件的日誌記錄檔案  
binlog-do-db=valverig #提供資料同步服務的資料庫  

3 在機器B中建立一個和機器A結構相同的資料庫:
同樣檢查是否開啟InnoDB引擎

注:機器A和B的資料庫結構必須一致,否則無法構成同步

4 開啟B機器的mysql安裝目錄下的my.ini檔案,在檔案最後新增:

#lyxadding
server-id=2
#同步的資料庫
replicate-do-db=valverig  

在mysql的shell介面輸入:

change master to
master_host='192.168.4.134',
master_port=3306,
master_user='hterp',
master_password='123456',
master_log_file='loglog920.000002',
master_log_pos=2021;

5.完成以上配置之後,在機器A的mysql控制檯中輸入:

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected] IDENTIFIED BY  '123456' ; 
#這句是為讓從伺服器有足夠的許可權從主伺服器是哪個接收二進位制日誌檔案

6 重啟機器A和B的mysql資料庫,
在機器B的mysql控制檯:

mysql>start slave;  

如果想檢視同步配置的情況,可以按如下輸入:
機器A的mysql控制檯:

Mysql>show master status;  

機器B的mysql控制檯:

Mysql>show slave status;  

7 在機器A中test資料庫中的backup_table表中插入一些資料,檢視機器B中test資料庫中的backup_table表應該同步實現了資料的改動。

沒有出現想要的結果怎麼辦?這裡有一點點經驗