mysql5.6 多實例 主從安裝_MySQL5.6一主多從的半同步復制實例

 2023-11-19 阅读 27 评论 0

摘要:半同步簡介:在默認情況下,MySQL的復制是異步的,這意味著主服務器及其從服務器是獨立的。異步復制可以提供最佳的性能,因為主服務器在將更新的數據寫入它的二進制日志(Binlog)文件中后,無需等待驗證更新數據是否已經復制到從服務器中,就可以

半同步簡介:

在默認情況下,MySQL的復制是異步的,這意味著主服務器及其從服務器是獨立的。異步復制可以提供最佳的性能,因為主服務器在將更新的數據寫入它的二進制日志(Binlog)文件中后,無需等待驗證更新數據是否已經復制到從服務器中,就可以自由處理其它進入的事務處理請求。但這也同時帶來了很高的風險,如果在主服務器或從服務器端發生故障,會造成主從數據的不一致,甚至在恢復時造成數據丟失。

從MySQL5.5開始引入了一種半同步復制功能,該功能可以確保主服務器和訪問鏈中至少一臺從服務器之間的數據一致性和冗余。在這種配置結構中,一臺主服務器和其許多從服務器都進行了配置,這樣在復制拓撲中,至少有一臺從服務器在父主服務器進行事務處理前,必須確認更新已經收到并寫入了其中繼日志(Relay Log)。當出現超時,源主服務器必須暫時切換到異步復制模式重新復制,直到至少有一臺設置為半同步復制模式的從服務器及時收到信息。

繼5.5半同步復制后,MySQL5.6又對其進行了優化和改進,其中有兩個地方較為重要:

1、在主從切換后,在傳統的方式里,需要找到binlog和POS點,然后更改master指向,而在mysql5.6里,你無須再知道binlog和POS點,你只需要知道master的IP、端口,賬號密碼即可,因為同步復制是自動的,mysql通過內部機制GTID自動找點同步。

2、多線程復制,以前的版本,同步復制是單線程的,只能一個一個執行,在MySQL5.6里,可以做到多個庫之間的多線程復制,但一個庫里的表,多線程復制是無效的。

--------------------------------------分割線 --------------------------------------

--------------------------------------分割線 --------------------------------------

一、試驗環境準備

1.1、安裝平臺:vmware workstation 10

操作系統:CentOS release 6.6 (Final) x86_64,最小化安裝。

MySQL版本:mysql-5.6.24-linux-glibc2.5-x86_64

關閉防火墻

1.2、服務器IP地址規劃:

MySQL Master:192.168.1.152

MySQL Slave1:192.168.1.201

MySQL Slave2:192.168.1.202

1.3、實驗拓撲:

759cabd305b640e644d674b0a589147e.png

二、安裝Mysql5.6

2.1、由于是最小化安裝的系統,需要安裝一些基本的組建

# yum -y groupinstall "Perl Support"

# yum -y instdall vim wget

# cd /usr/local/src

# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz

2.2、新建用戶和數據目錄。

# mkdir -pv /mydata/data

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql

# chown -R mysql:mysql /mydata/data

2.3、安裝并初始化mysql

# tar zxvf mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz -C /usr/local

# cd /usr/local/

# ln -sv mysql-5.6.24-linux-glibc2.5-x86_64? mysql

# cd mysql

# chown -R mysql:mysql .

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

# chown -R root .

2.4、為mysql提供主配置文件

12 # cd /usr/local/mysql

# cp support-files/my-default.cnf /etc/my.cnf

2.5、為mysql配置sysv服務腳本

# cd /usr/local/mysql

# cp support-files/mysql.server? /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld? ? //添加至服務列表

# chkconfig mysqld on

為了使用mysql的安裝符合系統使用規范,并將其開發組件導出給系統使用,這里還需要進行如下步驟:

2.6、輸出mysql的man手冊至man命令的查找路徑。

編輯/etc/man.config,添加如下行即可

MANPATH? /usr/local/mysql/man

2.7、輸出mysql的頭文件至系統頭文件路徑/usr/include

這可以通過簡單的創建鏈接實現

# ln -sv /usr/local/mysql/include? /usr/include/mysql

2.8、輸出mysql的庫文件給系統庫查找路徑。

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

# ldconfig? ? //讓系統重新載入系統庫

2.9、修改PATH環境變量,讓系統可以直接使用mysql的相關命令。

# echo "export PATH=$PATH:/usr/local/mysql/bin " >/etc/profile.d/mysql.sh

# source /etc/profile.d/mysql.sh

以上安裝過程在三臺服務器軍需執行。

0b1331709591d260c1c78e86d0c51c18.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/182759.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息