高效能MYSQL 基於binlog的主從複製

2021-10-03 12:41:28 字數 3029 閱讀 7288

mysql的主從配置又叫replication,ab複製,基於binlog二進位制日誌,主資料庫必須開啟binlog二進位制日誌才能進行複製。

作為非同步複製,其主庫將事件寫入binlog二進位制檔案,dump執行緒將binlog檔案傳送出去,不保證其他從節點是否會收到binlog二進位制檔案。

1.主庫開啟binlog日誌(設定log-bin引數)

2.主從server-id不同

3.從庫伺服器能連同主庫

step1 在主庫中安裝mysql:

yum remove mysql-libs	#清除yum裡所有mysql依賴包

rpm -ivh mysql-community-common-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --nodeps

step2 開啟資料庫:

step3 檢視初始化密碼:

cat /var/log/mysqld.log | grep password
step4 安全初始化:

step5 編輯配置檔案:

vim /etc/my.cnf

最後面新增:

29 log-bin=mysql-bin #開啟二進位制日誌

30 server-id=1 #伺服器id

systemctl restart mysqld #重啟服務

step6 建立使用者並授權:

引數解釋:

replication    表示授權複製的許可權

*.*         表示所有資料庫可以進行同步

repl        表示授權名,可以隨意填寫

'172.25.254.%'   表示授權172.25.19.0/24的網段所有伺服器可以同步, %表示任意

step1 在主庫中安裝mysql:

yum remove mysql-libs	#清除yum裡所有mysql依賴包

rpm -ivh mysql-community-common-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.25-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --nodeps

step2 開啟資料庫:

systemctl start mysqld
step3 檢視初始化密碼:

cat /var/log/mysqld.log | grep password
step4 安全初始化:

mysql_secure_installation

vim /etc/my.cnf

最後面新增:

28 server-id=2 #伺服器id,填寫主端不同即可

systemctl restart mysqld #重啟服務

step6 設定從裝置並開啟從裝置:

注意:master_log_file 和master_log_pos 的值都要依照主裝置狀態中的值來設定

step1 在主庫端建立庫:

step2 在從庫中可以看到westos庫:

step3 在主庫中建立表,並插入資料:

step4 在從庫中可以看到資料:

高效能mysql 樹 高效能mysql精要

1 explain 中 extra using index 表示覆蓋索引,sql優化中最好能使用覆蓋索引,否則 二級索引 需要回表查詢。所謂覆蓋索引,是指要查詢的列正好是索引,而條件也是這個索引之一 2 where 語句中 條件等於主鍵的 在核心索引層完成,條件等於非索引的,在服務層完成 3 讀索引...

mysql高效能索引 mysql高效能索引( )

在開發中,我們知道大多數應用的瓶頸在於sql語句的執行時耗,在這裡並不討論sql語句的安全,僅僅討論高效能sql語句,而與高效能sql語句緊密相連的就是傳說中的 索引。索引 一種工作在儲存引擎端的用於快速找到記錄的一種資料結構。mysql使用索引的方式是 先找到索引的值,再根據索引的值找到資料行。索...

高效能mysql(一) 建立高效能索引

單列索引和多列索引 單列索引 多個單列索引的選擇問題 多個or條件 多個單列的效能往往效能很低,盡量建立高效的多列索引。多列索引 選擇合適的索引順序 避免範圍條件 在where子句中,in是有效的,範圍條件會導致後面的索引無效!在order by中,範圍條件和in都會導致無法按照索引排序!按照索引順...