Mysql高可用集群環境介紹


MySQL高可用集群環境搭建

01、MySQL高可用環境方案

02、MySQL主從復制原理

03、MySQL主從復制作用

04、在Linux環境上安裝MySQL

05、在MySQL集群環境上配置主從復制

06、MySQL高可用集群帶來的問題

07、MySQL讀寫分離MyCat使用

08、分表分庫插件ShardingJdbc

09、MySQL數據庫索引底層原理(重點)

10、MySQLSQL語句性能優化

MySQL數據庫簡單介紹

MySQL作為世界上使用最為廣泛的數據庫之一,免費是其原因之一。但不可忽略的是它本身的功能的確很強大。隨着技術的發展,在實際的生產環境中,由單台MySQL數據庫服務器不能滿足實際的需求。此時數據庫集群就很好的解決了這個問題了。采用MySQL分布式集群,能夠搭建一個高並發、負載均衡的集群服務器(這篇博客暫時不涉及)。在此之前我們必須要保證每台MySQL服務器里的數據同步。數據同步我們可以通過MySQL內部配置就可以輕松完成,主要有主從(master slave )復制和主主復制。

主從復制介紹

相信很多同學在學習Redis的時候,已經了解過主從復制的作用。在MySQL集群環境中,可以分為主節點與從節點,通過主從復制可以實現數據備份、故障轉移、MySQL集群、高可用、讀寫分離等。

MySQL的主從復制是MySQL本身自帶的一個功能,不需要額外的第三方軟件就可以實現,其復制功能並不是copy文件來實現的,而是借助binlog日志文件里面的SQL命令實現的主從復制,可以理解為我再Master端執行了一條SQL命令,那么在Salve端同樣會執行一遍,從而達到主從復制的效果。

如果Mysql是集群的情況下,需要考慮哪些問題?

數據實時同步的問題

主從復制原理

MySQL的主從復制是MySQL本身自帶的一個功能,不需要額外的第三方軟件就可以實現,其復制功能並不是copy文件來實現的,而是借助binlog日志文件里面的SQL命令實現的主從復制,可以理解為我再Master端執行了一條SQL命令,那么在Salve端同樣會執行一遍,從而達到主從復制的效果。

主機MySql 會將dmlMySql(create、update、delete、insert等,不包括查詢sql) 語句寫入到二進制日志文件中(binLog)。

從庫生成兩個線程,一個I/O線程,一個SQL線程; i/o線程去請求主庫 的binlog,並將得到的binlog日志寫到relay log(中繼日志) 文件中;

主庫會生成一個 log dump 線程,用來給從庫 i/o線程傳binlog; SQL 線程,會讀取relay log文件中的日志,並解析成具體操作,來實現主從的操作一致,而最終數據一致;

從節點中Sql線程的作用:就是IO線程從主機獲取二進制執行文件之后,通過Sql線程進行執行二進制執行文件。sql線程依賴於IOx線程

主庫與從庫會建立長連接,如果產生網絡延遲的情況下 會產生數據不同步的問題。

注意:Mysql主從復制是Mysql本身自帶的功能。myCat做讀寫分離 和 Nginx 比較相似。

如果不小心數據被刪除了,可以從binlog日志中恢復。

主從復制環境配置

服務器准備兩台

192.168.0.105  主服務器配置

192.168.0.107  從服務器配置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM