windows下實現mysql5.6讀寫分離、主從複製和一主多從

mysql壓縮包移步下載:mysql5.6

mysql5.6--主從數據庫的安裝

第一步:複製mysql到自定義目錄中,我現在放的是 E:\cool\mysql,數據庫叫3380

第二步: 刪除3380\logs目錄下的所有日誌文件

第三步驟: 刪除3380\datas所有的log文件(注意不是所有文件哦!)

第四步:打開 my.ini 文件,做如下修改

1、

2、

3、

4、

5、

第五步:安裝並啓動剛剛安裝的mysql

首先檢查有沒有該數據庫,如果有則打開cmd窗口,執行以下命令進行刪除,用命令刪除系統服務

sc delete MySQL-3380

接下來安裝到系統服務中,啓動

安裝

執行以下命令進行安裝

.\mysqld.exe install MySQL-3380 --defaults-file="E:\cool\mysql\3380\data\my.ini"

去服務中刷新並且進行啓動

用navicat進行連接測試

 

接下來進行第二個數據庫的配置、安裝、啓動

 

將3380數據庫複製一份,改爲3381,與3380在同一目錄下,方便管理,然後執行上述步驟,

修改my.ini將所有3380改爲3381

 

以上步驟結束後,主從數據庫安裝成功,從數據庫有多個就配置多個,步驟相同

 

接下來實現主從複製

mysql主(稱master)從(稱slave)複製的原理:

  1. master將數據改變記錄到二進制日誌(binary log)中,也即是配置文件log-bin指定的文件(這些記錄叫做二進制日誌事件,binary log events)
  2. slave將master的binary log events拷貝到它的中繼日誌(relay log)
  3. slave重做中繼日誌中的事件,將改變反映它自己的數據(數據重演)

1.1.  主從配置需要注意的地方

  1. 主DB server和從DB server數據庫的版本一致
  2. 主DB server和從DB server數據庫數據一致[ 這裏就會可以把主的備份在從上還原,也可以直接將主的數據目錄拷貝到從的相應數據目錄]
  3. DB server開啓二進制日誌,主DB server和從DB server的server_id都必須唯一

1.2.  主庫配置從庫的用戶

爲了能夠正常使用,這時候可以將3380和3381兩個數據庫重啓一下

接着在navicat中3380中創建一個連接主數據庫的用戶名和密碼

grant replication slave on *.* to 'slave01'@'127.0.0.1' identified by '123456';

flush privileges;

以上語句的意思是將複製權限授權給root 123456這個用戶

SHOW MASTER STATUS

自此主庫的配置完全結束

1.3.  從庫的配置

#指定serverid,只要不重複即可,從庫也只有這一個配置,其他都在SQL語句中操作

在navicat中執行,執行以下語句並且語句跟主數據庫授權的用戶要匹配上,還有狀態信息要一致

CHANGE MASTER TO

 master_host='127.0.0.1',

 master_user='slave01',

 master_password='123456',

 master_port=3380,

 master_log_file='mysql-bin.000002',

 master_log_pos=420;

 

#啓動slave同步

START SLAVE;

 

#查看同步狀態

SHOW SLAVE STATUS;

說明配置有問題,如何修改,去error-log中進行修改

2018-01-26 10:14:12 6216 [ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

2018-01-26 10:14:12 6216 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000002', position 420

所以要搜索如何修改mysql的UUID

修改這個auto.cnf中的UUID即可,然後重啓slave數據庫

出現這個標誌說名主從配置成功了

測試只要找一條記錄修改即可

同步由mysql底層實現同步

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章