mysql的主從複製資料延遲問題
- MySQL資料庫主從同步延遲原理。
- MySQL資料庫主從同步延遲是怎麼產生的。
- MySQL資料庫主從同步延遲解決方案。
- MySQL資料庫主從同步延遲產生的因素。
答:談到MySQL資料庫主從同步延遲原理,得從mysql的資料庫主從複製原理說起,mysql的主從複製都是單執行緒的操作,主庫對所有DDL和DML產生binlog,binlog是順序寫,所以效率很高;slave的Slave_IO_Running執行緒會到主庫取日誌,效率會比較高,slave的Slave_SQL_Running執行緒將主庫的DDL和DML操作都在slave實施。DML和DDL的IO操作是隨機的,不是順序的,因此成本會很高,還可能是slave上的其他查詢產生lock爭用,由於Slave_SQL_Running也是單執行緒的,所以一個DDL卡主了,需要執行10分鐘,那麼所有之後的DDL會等待這個DDL執行完才會繼續執行,這就導致了延時。有朋友會問:“主庫上那個相同的DDL也需要執行10分,為什麼slave會延時?”,答案是master可以併發,Slave_SQL_Running執行緒卻不可以。
2.MySQL資料庫主從同步延遲是怎麼產生的。
答:當主庫的TPS併發較高時,產生的DDL數量超過slave一個sql執行緒所能承受的範圍,那麼延時就產生了,當然還有就是可能與slave的大型query語句產生了鎖等待。
3.MySQL資料庫主從同步延遲解決方案
答:最簡單的減少slave同步延時的方案就是在架構上做優化,儘量讓主庫的DDL快速執行。還有就是主庫是寫,對資料安全性較高,比如sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之類的設定,而slave則不需要這麼高的資料安全,完全可以講sync_binlog設定為0或者關閉binlog,innodb_flushlog也可以設定為0來提高sql的執行效率。另外就是使用比主庫更好的硬體裝置作為slave。
4.MySQL資料庫主從同步延遲產生的因素。
1. 網路延遲
2. master負載
3. slave負載
一般的做法是,使用多臺slave來分攤讀請求,再從這些slave中取一臺專用的伺服器,只作為備份用,不進行其他任何操作,就能相對最大限度地達到’實時’的要求了
另外,再介紹2個可以減少延遲的引數
–slave-net-timeout=seconds
引數含義:當slave從主資料庫讀取log資料失敗後,等待多久重新建立連線並獲取資料
slave_net_timeout單位為秒 預設設定為 3600秒
| slave_net_timeout | 3600
–master-connect-retry=seconds
引數含義:當重新建立主從連線時,如果連線建立失敗,間隔多久後重試。
master-connect-retry單位為秒 預設設定為 60秒
通常配置以上2個引數可以減少網路問題導致的主從資料同步延遲
相關文章
- mysql主從延遲複製MySql
- MySQL之 從複製延遲問題排查MySql
- MySQL主從複製延遲解決方案MySql
- mysql的主從複製延遲問題--看這一篇就夠了MySql
- MySQL主從複製延遲原因及處理思路MySql
- 記一次 MySQL 主從複製延遲的踩坑MySql
- MySQL主從資料庫同步延遲問題怎麼解決MySql資料庫
- 在Linux中,mysql 如何減少主從複製延遲?LinuxMySql
- 主從複製延遲推薦解決方案
- 高頻面試:如何解決MySQL主從複製延時問題面試MySql
- 如何避免MYSQL主從延遲帶來的讀寫問題?MySql
- MySQL 5.7 延遲複製配置MySql
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- MySQL 8 複製(三)——延遲複製與部分複製MySql
- MySQL的主從複製與MySQL的主主複製MySql
- MySQL-主從複製之同步主從資料MySql
- 如何解決MySQL主從複製太慢的問題MySql
- mysql主從複製配置與問題解決MySql
- MySQL主從複製與主主複製MySql
- 如何解決MySQL 主從複製資料不一致問題MySql
- MySQL 8.0能徹底解決困擾運維的複製延遲問題!MySql運維
- 故障分析 | MySQL 異地從庫複製延遲案例一則MySql
- Mysql(Mariadb)資料庫主從複製MySql資料庫
- mysql資料庫實現主從複製MySql資料庫
- MySQL的主從複製MySql
- MySQL-主從複製之搭建主資料庫MySql資料庫
- PostgreSQL中的複製延遲SQL
- mysql5.7主從複製,主主複製MySql
- MySQL主從複製、半同步複製和主主複製MySql
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- MySQL主從複製問題解決一例MySql
- mysql複製--主從複製配置MySql
- MySQL-主從複製之搭建從資料庫MySql資料庫
- MySQL 主從複製MySql
- 【MySql】主從複製MySql
- MySQL主從複製MySql
- mysql資料庫資料同步/主從複製的配置方法MySql資料庫
- 教你如何解決MySQL資料延遲跳動的問題MySql