程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 詳解windows下mysql的主從同步

詳解windows下mysql的主從同步

編輯:關於MYSQL數據庫

半路出家到Java,剛開始聽說到說程序支持讀寫分離感覺特別高大上,也一直沒接觸

偶然的機會接觸到了,就一定得記下來。

今天先講講數據庫的主從同步,兩個好處:

  • 是讀寫分離可以用上。比如 寫操作就寫到主數據庫,讀就從從數據庫讀取
  • 是純粹給數據庫備份,以防硬盤徹底崩了

主從數據庫操作准備:

兩台電腦,都安裝好mysql 5.5及以上版本,最好兩台電腦都安裝同一版本數據庫,且能單獨正常使用

記住兩台電腦的ip地址:

以我家裡電腦為例: 主數據庫:192.168.0.102   從數據庫:192.168.0.104

【主數據庫下操作】

步驟一:

在主數據庫mysql安裝目錄下找到my.ini文件打開,在mysqld下添加主服務器配置

server-id=1 #服務器 id 
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin #二進制文件存放路徑
binlog-do-db=test1 #待同步的數據庫

保存並重啟mysql服務後你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件

輸入用戶名和密碼:mysql -u用戶名 -p密碼 (    mysql -uroot -proot   )

步驟二,

給要連接的從服務器設置權限:grant replication slave,reload,super on *.* to [email protected] identified by 'root';   

ps: 給主機192.168.0.104添加權限,用戶名:slave,密碼:root;(只需輸入一次就可以了)

步驟三,

輸入命令 show master status;       # 找到File 和 Position 的值記錄下來;

【從數據庫上操作】

步驟四:

在mysql下找到my.ini文件,在其[mysqld] 下添加從服務器端配置:

server-id=2 #服務器 id ,不能和主服務器一致
replicate-do-db=test1 #待同步的數據庫

保存並重啟mysql服務

步驟五:

從服務器上測試:mysql -u slave -p root -h 192.168.0.102,查看能否連接主數據庫成功,

然後輸入exi退出mysql命令行或者關閉該cmd窗口新開一個cmd

步驟六:

修改對主數據庫的連接的參數:mysql>change master to master_host='192.168.0.104',master_user='slave',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=107;(這裡輸入的mysql-bin.000001和107請替換為步驟三中查詢出來的值 否則不會同步的) 

ps:可能會報一個錯誤,大概的意思是說slave線程正在運行,不能設置,這樣的話,執行mysql>stop slave; 停止slave線程,然後再設置連接的參數;

步驟七:

設置完之後,執行 mysql> start slave; 開啟slave線程;執行mysql> show slave status\G   (沒有分號),查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

這是詳細的步驟,如果不成功 請聯系我幫你解決,按照這個步驟 只要兩個電腦網絡互通,應該不會有問題的

不過需要注意的是:

如果對從數據庫進行修改,是不會同步對主數據庫進行修改的,這樣就應該用主-主同步了,方法類似,

所以insert,delete update 都應該是對主數據庫的操作, 而select操作則對從表進行操作

具體程序中怎麼實現讀寫分離,後續我將以具體demo形式呈現出來

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved