共計 1842 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇內容介紹了“怎么切換 MySQL 主從”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、在主庫上把熱數據立刻 dump 到本地磁盤 ib_buffer_pool 文件中
1)在主庫上,執行如下命令把 innodb buffer pool 里面 100% 的熱數據 dump 到磁盤文件 /data/ib_buffer_pool 里面:
mysql SET GLOBAL innodb_buffer_pool_dump_pct=100;
2)在主庫上,執行如下命令把 innodb buffer pool 里面 100% 的熱數據 dump 到磁盤文件 /data/ib_buffer_pool 里面:
mysql SET GLOBAL innodb_buffer_pool_dump_now=ON;
3)在主庫上,執行如下命令顯示 dump 的進度,直至看到 completed 完成字樣為止:
mysql SHOW STATUS LIKE Innodb_buffer_pool_dump_status
4)把主庫 /data/ib_buffer_pool 磁盤文件拷貝到從庫的 /data 目錄下:
5)在從庫上,執行如下命令,把 /data/ib_buffer_pool 里面的熱數據加載到 innodb buffer pool
mysql SET GLOBAL innodb_buffer_pool_load_now=ON;
6)在從庫上,執行如下命令顯示 load 的進度
mysql SHOW STATUS LIKE Innodb_buffer_pool_load_status
7)在從庫上,執行如下命令,看從庫的 LRU LIST 里面有多少個頁了:
mysql select count(*) from information_schema.INNODB_BUFFER_PAGE_LRU ;
8)當看到從庫的 load 進度顯示完成字樣時,說明熱數據在從庫上加載完畢
mysql SHOW STATUS LIKE Innodb_buffer_pool_load_status
二、強制把主庫臟數據刷新到硬盤
mysql flush tables;
mysql set global innodb_max_dirty_pages_pct=0 // 表示 BP 里面的臟數據保留 0%, 即表示臟數據全部刷盤
mysql show global status like %dirty%
mysql show engine innodb status \G; // 一般,并不需要等到最后檢查點和當前 LSN 相等才關閉,兩者只要相差不多(1000)關閉起來就很快了。
Log sequence number 5076573373355
Log flushed up to 5076573331762
Pages flushed up to 5075653942668
Last checkpoint at 5075646303916
三、主從手工切換
1)在從庫上看從庫和主庫是否有同步延時
mysql show slave status \G // 在從庫執行,看 sencond_behind_master 是否為 0;
2)把從庫 mysql 只讀去掉
3)先把主庫關閉,并等待從庫應用完 relay log
mysql show master status ; // 在從庫執行,binlog pos 不再變化為止, 并記錄下此 pos 值
4)登錄主庫,并釋放掉 vip
ifconfig eth2:1 down (釋放掉 vip 172.16.x.x)
5)把 vip 綁定到從庫上
ifconfig eth2:1 172.16.x.x/24
arping -I eth2:1 -c 1 -s 172.16.x.x 172.16.x.254
到其他網段的機器 ping 172.16.x.x 是通的
在從庫 show processlist 看是否有連接進來,測試業務是否正常
這樣,就完成了手工主從切換數據庫。切換后,從庫的運行性能和主庫一樣,對業務影響非常小。
6)重新建立主從復制關系
CHANGE MASTER TO MASTER_HOST = x.x.x. , MASTER_USER = repl , MASTER_PASSWORD = xxxx , MASTER_PORT = 3306,MASTER_LOG_FILE= binglog.001145 , MASTER_LOG_POS=39951979,
“怎么切換 MySQL 主從”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!