自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL 不停機不鎖表主從搭建

數(shù)據(jù)庫 MySQL
初始化的搭建很簡單,不涉及數(shù)據(jù)業(yè)務(wù),所以鎖表、停機等都不影響,但是更多時候是業(yè)務(wù)到一定階段,才會涉及到橫向擴(kuò)展,需要做主從,讀寫分離等來提升服務(wù)性能。

 [[407459]]

MySQL主從搭建分幾種場景

  • 無業(yè)務(wù)數(shù)據(jù),初始化搭建
  • 有業(yè)務(wù)數(shù)據(jù),臨時擴(kuò)展

初始化的搭建很簡單,不涉及數(shù)據(jù)業(yè)務(wù),所以鎖表、停機等都不影響,但是更多時候是業(yè)務(wù)到一定階段,才會涉及到橫向擴(kuò)展,需要做主從,讀寫分離等來提升服務(wù)性能

這個時候,數(shù)據(jù)業(yè)務(wù)不能中斷,又需要快速進(jìn)行擴(kuò)展提升性能,只能在不停機、不停服務(wù)的情況下擴(kuò)展,就需要用到下面介紹的這種方法來做數(shù)據(jù)庫主從

當(dāng)然還是有前提條件,如果你原本MySQL連binlog及server_id都這種基礎(chǔ)配置都沒做,那也談不上不停機配置主從

原理

不停機實現(xiàn)主從搭建的關(guān)鍵點就是以下兩個參數(shù):

  • --single-transaction
  • --master-data

master-data參數(shù)主要用來記錄主庫的binlog_file和pos,它有兩個值,分別是:

1:在mysqldump過程中,將binlogfile和pos信息記錄在sql中,并且不是以注釋信息的方式記錄,這樣在執(zhí)行導(dǎo)入的時候自動執(zhí)行這部分信息

2:在mysqldump過程中,將binlogfile和pos信息以注釋的方式記錄在sql中

single-transaction參數(shù)則是通過提交單一事務(wù)來確保數(shù)據(jù)一致性,通過在FLUSH TABLES WITH READ LOCK 后添加START TRANSACTION 語句,開啟單一事務(wù),此時加鎖,僅僅是為了獲取準(zhǔn)確的master-data中的binlogfile和pos信息,在開啟事務(wù)后,鎖已經(jīng)釋放了,所以對業(yè)務(wù)影響很小

通過以上兩個參數(shù),可以在不長時間鎖表的情況下獲取準(zhǔn)確的binlogfile和pos信息,從而完成主從配置

實戰(zhàn)

導(dǎo)出數(shù)據(jù)

從主庫通過mysqldump導(dǎo)出數(shù)據(jù)

  1. mysqldump -uroot -ppassword --single-transaction --master-data=2 --databases db1 db2 xxx > databases.sql 

打包壓縮

  1. tar -zcvf databases.sql.tar.gz databases.sql 

復(fù)制到從庫

  1. scp databases.sql.tar.gz root@slave_ip:/data/sql/ 

后面的操作在從庫進(jìn)行

解壓

  1. tar -zxvf databases.sql.tar.gz 

導(dǎo)入數(shù)據(jù)

  1. source /path_to/databases.sql.tar.gz 

配置主從同步參數(shù)

  1. change master to master_host='ip',master_user='slave',master_port=port,master_password='password',master_log_file='mysql-bin.file',master_log_pos=POS; 

其中master_log_file和master_log_pos就是上面通過master-data=2參數(shù)導(dǎo)出的,在sql文件里面開頭部分

啟動slave同步

  1. start slave; 

查看同步狀態(tài)

  1. show slave status\G; 

通過這種方法,可以在不停止業(yè)務(wù)的情況下,保證數(shù)據(jù)一致性的同時,快速擴(kuò)展從庫

責(zé)任編輯:武曉燕 來源: 運維研習(xí)社
相關(guān)推薦

2020-04-13 15:45:46

MySQL數(shù)據(jù)庫備份

2018-03-14 09:49:35

數(shù)據(jù)庫遷移

2024-11-13 15:29:08

MySQL技術(shù)索引

2022-09-01 09:52:18

應(yīng)用解決方案

2017-05-17 10:05:30

SQL Server鏡像數(shù)據(jù)庫

2024-10-25 10:00:00

云服務(wù)計算

2010-11-22 14:27:05

MySQL鎖表

2024-07-09 10:42:30

2009-09-04 03:43:03

IBMsystemdirector

2016-11-01 13:06:58

大數(shù)據(jù)數(shù)據(jù)中心

2020-05-06 13:47:42

ZooKeeperKubernetes遷移

2013-03-14 10:19:51

數(shù)據(jù)中心升級停機數(shù)據(jù)中心

2024-11-29 07:38:12

MySQL數(shù)據(jù)庫

2022-10-08 09:33:00

平臺中間件

2024-05-31 13:55:25

2021-04-19 09:37:12

RocketMQ集群版本

2025-02-10 09:58:48

2019-01-02 16:40:13

MongoDBPostgres數(shù)據(jù)庫

2010-05-24 12:50:59

MySQL表級鎖

2020-10-20 13:50:47

MySQL數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號