首頁 > 數據庫 > mysql教程 > 正文

MySQL實現主從復制功能

原創 2019-06-19 14:45:11 0 648
第七期線上培訓班

環境說明

centos7.3、MySQL5.7

前言

MySQL安裝參考之前的文章https://www.jianshu.com/p/452aa99c7476有講解。

基本概念

MySQL 內建的復制功能是構建大型,高性能應用程序的基礎。將 MySQL 的 數億分布到到多個系統上去,這種分布的機制,是通過將 MySQL 的某一臺主機的數據復制到其它主機( Slave )上,并重新執行一遍來實現的。復制過程中一個服務器充當服務器,而一個或多個其它服務器充當從服務器。主服務器將更新寫入二進制日志,并維護文件的一個索引以跟蹤日志循環。這些日志可以記錄發送到從服務器的更新。當一個從服務器連接主服務器時,它通知主服務器從服務器在日志中讀取的最后一次成功更新的位置,從服務器接收從那時起發生的任何更新,然后封鎖等等主服務器通知新的更新。請注意當你進行復制時,所有對復制中的表的更新必須在主服務器上進行。否則,你必須要小心,以避免用戶對主服務器上的表進行的更新與對服務器上的表所進行的更新之間的沖突

主從復制實現

一、修改主(master)服務器

如果是按照我寫的文章安裝的MySQL,那么my.cnf配置文件在/etc/目錄下。如果不在,可以通過whereis命令搜索下 在my.cnf配置文件下添加如下配置

server_id=1 #指定MySQL的id
log-bin=mysql-bin #開啟二進制日志文件

二、創建復制賬號

在主服務器中執行該命令(這里允許了所有的地址訪問,建議設置成從服務器的地址)

GRANT REPLICATION SLAVE ON *.* to 'replication'@'%' identified by 'Abc123...';

三、修改從(slave)服務器

server_id=2
log-bin=mysql-bin
binlog_do_db=db_test#表示要同步的數據庫

說明: binlog-ignore-db=test 表示不同步 test 數據庫 binlog_do_db=db_test#表示要同步的數據庫

四、重啟MySQL

主服務器和從服務器都重啟

service mysqld restart

五、查看主服務器狀態

show master status

結果如下:

這里有些信息需要記錄下來,在配置從服務器時候需要用到 # 六、配置從服務器(連接 Master 服務器)

change master to master_host='192.168.74.129',master_user='replication',master_password='Abc123...',master_log_file='mysql-bin.000001',master_log_pos=2041;

master_host是主服務器的ip master_port=3306(這里沒有配置,默認3306) master_user:Master 服務器授權用戶,也就是 Master 前面創建的那個用戶 master_password:Master 服務器授權用戶對應的密碼 master_log_file:Master binlog 文件名 master_log_pos:Master binlog 文件中的 Postion 值 關于position值,這里做一個說明:如果主服務器已經是有很多數據了的,那就先需要備份主服務器的數據到從服務器中,然后再使用命令show master status記錄需要開始同步的位置。 # 七、開始復制 在從服務器中執行

start slave

停止的命令是:stop slave; # 八、查看從服務器狀態

show slave status\G;

下載 (2).jpg

上圖圈起來的兩個結果為yes表示主從復制配置成功了。 如果配置失敗,可以去MySQL的日志文件中查看失敗信息,也可以通過上述命令查看一個簡要的錯誤信息:

下載 (3).jpg

這是我剛剛配置主從服務器時報的錯,主要原因是MySQL服務器的server的UUID沖突了,原因是我的從服務器是從主服務器上復制過去的。到/var/lib/mysql/auto.cnf上修改即可。 #驗證主從結果 現在的狀態:

下載 (5).jpg

下面新建一個表,看看是否可以同步過去:下載 (6).jpg#查看從服務器

下載 (7).jpg

可以看到已經同步過去了同步過去

更多MySQL相關技術文章,請訪問MySQL教程欄目進行學習!

以上就是MySQL實現主從復制功能的詳細內容,更多請關注php中文網其它相關文章!

php中文網最新課程二維碼
  • 相關標簽:mysql 主從復制
  • 本文原創發布php中文網 ,轉載請注明出處,感謝您的尊重!
  • 相關文章


  • MySQL 快速創建千萬級測試數據
  • MySQL存儲的字段是不區分大小寫的,你知道嗎?
  • 為什么不要在MySQL中使用UTF-8編碼方式
  • MySQL實現主從復制功能
  • 網友評論

    文明上網理性發言,請遵守 新聞評論服務協議

    我要評論
    獨孤九賤(5)_ThinkPHP5視頻教程

    獨孤九賤(5)_ThinkPHP5視頻教程

    ThinkPHP是國內最流行的中文PHP開發框架,也是您Web項目的最佳選擇。《php.cn獨孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識開始,將...

    獨孤九賤(4)_PHP視頻教程

    獨孤九賤(4)_PHP視頻教程

    江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個梗究竟是從哪來的?學會本課程,你就會明白了。 PHP中文網出品的PHP入門系統教學視頻,完全從初學者的角度出發,絕不玩虛的,一切以實用、有用...

    獨孤九賤(1)_HTML5視頻教程

    獨孤九賤(1)_HTML5視頻教程

    《php.cn原創html5視頻教程》課程特色:php中文網原創幽默段子系列課程,以惡搞,段子為主題風格的php視頻教程!輕松的教學風格,簡短的教學模式,讓同學們在不知不覺中,學會了HTML知識。 ...

    ThinkPHP5實戰之[教學管理系統]

    ThinkPHP5實戰之[教學管理系統]

    本套教程,以一個真實的學校教學管理系統為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發出一個商業項目。

    PHP入門視頻教程之一周學會PHP

    PHP入門視頻教程之一周學會PHP

    所有計算機語言的學習都要從基礎開始,《PHP入門視頻教程之一周學會PHP》不僅是PHP的基礎部分更主要的是PHP語言的核心技術,是學習PHP必須掌握的內容,任何PHP項目的實現都離不開這部分的內容,通...

    作者信息

    步履不停

    分分合合拂袖悲歡,生生世世心甘情愿。

    最近文章
    如何查看網址的端口號 599
    前端加班嚴重嗎 137
    沒網如何安裝網卡驅動 199

    相關視頻教程

  • MySQL權威開發指南(教程) MySQL權威開發指南(教程)
  • MySQL數據庫技術小知識每日分享 MySQL數據庫技術小知識每日分享
  • MySQL高級進階視頻教程 MySQL高級進階視頻教程
  • 相關視頻章節

    第七期線上培訓班 118期四肖中特唯一