重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
Mysql的 Replication 是一個異步的復制過程,從一個 Mysql instace(我們稱之為 Master)復制到另一個 Mysqlinstance(我們稱之 Slave)。在 Master 與 Slave 之間的實現整個復制過程主要由三個線程來完成,其中兩個線程(Sql線程和IO線程)在 Slave 端,另外一個線程(IO線程)在 Master 端。\x0d\x0aMySQL 復制的基本過程如下:\x0d\x0a1. Slave 上面的IO線程連接上 Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;\x0d\x0a2. Master 接收到來自 Slave 的 IO 線程的請求后,通過負責復制的 IO 線程根據請求信息讀取指定日志指定位置之后的日志信息,返回給 Slave 端的 IO 線程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息在 Master 端的 BinaryLog 文件的名稱以及在 Binary Log 中的位置;\x0d\x0a3. Slave 的 IO 線程接收到信息后,將接收到的日志內容依次寫入到 Slave 端的Relay Log文件(mysql-relay-bin.xxxxxx)的最末端,并將讀取到的Master端的bin-log的文件名和位置記錄到master- info文件中,以便在下一次讀取的時候能夠清楚的高速Master“我需要從某個bin-log的哪個位置開始往后的日志內容,請發給我”\x0d\x0a4. Slave 的 SQL 線程檢測到 Relay Log 中新增加了內容后,會馬上解析該 Log 文件中的內容成為在 Master 端真實執行時候的那些可執行的 Query 語句,并在自身執行這些 Query。這樣,實際上就是在 Master 端和 Slave 端執行了同樣的 Query,所以兩端的數據是完全一樣的。
專注于為中小企業提供成都網站設計、網站建設、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業東至免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了超過千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
讀寫分離的前提是:主從同步。也就是需要2臺以上的數據庫服務器,分別安裝部署好MySQL服務。然后,再在其中一臺選擇為主庫,另外一臺選擇為從庫。主庫可以讀寫,叢庫只能讀。
然后再基于mycat中間件和mysql進行集成來實現讀寫分離。
一.mysql主從庫與讀寫分離的實現理論
二.mysql配置
1.準備兩臺服務器安裝mysql(也可以在一臺中裝兩個mysql修改端口號避免沖突)
2.分別連接mysql
3.配置mysql
1.配置主庫 monster
打開binary log
2.配置從庫
主庫授權
賬號repl后面的是從庫的ip地址 mysql是賬號repl的密碼
刷新
后面master_log_pos=0 表示從零開始同步 master_log_file 是上面SHOW MASTER STATUS 下面的file文件
在從庫中開啟主從跟蹤
查看從庫狀態
從庫中終止主從同步 stop slave
查看 my.cnf 文件 把 server -id=1 的字段刪除 保留server-id=2 修改后保存 重啟mysql 重新連接 開啟主從同步start slave
查看從庫狀態 發現沒有錯誤 到此主從同步配置已經完成.