資源描述:
《mysql主從復(fù)制(master-slave)與讀寫分離(mysql-proxy)實(shí)踐》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、MySQL主從復(fù)制(Master-Slave)與讀寫分離(MySQL-Proxy)實(shí)踐4人收藏此文章,?我要收藏發(fā)表于9個(gè)月前,已有300次閱讀共0個(gè)評(píng)論Mysql作為目前世界上使用最廣泛的免費(fèi)數(shù)據(jù)庫(kù),相信所有從事系統(tǒng)運(yùn)維的工程師都一定接觸過(guò)。但在實(shí)際的生產(chǎn)環(huán)境中,由單臺(tái)Mysql作為獨(dú)立的數(shù)據(jù)庫(kù)是完全不能滿足實(shí)際需求的,無(wú)論是在安全性,高可用性以及高并發(fā)等各個(gè)方面。因此,一般來(lái)說(shuō)都是通過(guò)主從復(fù)制(Master-Slave)的方式來(lái)同步數(shù)據(jù),再通過(guò)讀寫分離(MySQL-Proxy)來(lái)提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力這樣的方案來(lái)進(jìn)行部署與實(shí)施的。如下圖所示:下面是我在實(shí)際工作
2、過(guò)程中所整理的筆記,在此分享出來(lái),以供大家參考。一、MySQL的安裝與配置?具體的安裝過(guò)程,建議參考我的這一篇文章:http://heylinux.com/archives/993.html值得一提的是,我的安裝過(guò)程都是源碼包編譯安裝的,并且所有的配置與數(shù)據(jù)等都統(tǒng)一規(guī)劃到了/opt/mysql目錄中,因此在一臺(tái)服務(wù)器上安裝完成以后,可以將整個(gè)mysql目錄打包,然后傳到其它服務(wù)器上解包,便可立即使用。二、MySQL主從復(fù)制?場(chǎng)景描述:主數(shù)據(jù)庫(kù)服務(wù)器:192.168.10.130,MySQL已經(jīng)安裝,并且無(wú)應(yīng)用數(shù)據(jù)。從數(shù)據(jù)庫(kù)服務(wù)器:192.168.10.131,MyS
3、QL已經(jīng)安裝,并且無(wú)應(yīng)用數(shù)據(jù)。2.1主服務(wù)器上進(jìn)行的操作?啟動(dòng)mysql服務(wù)/opt/mysql/init.d/mysqlstart通過(guò)命令行登錄管理MySQL服務(wù)器/opt/mysql/bin/mysql-uroot-p'new-password'授權(quán)給從數(shù)據(jù)庫(kù)服務(wù)器192.168.10.131mysql>GRANTREPLICATIONSLAVEON*.*to'rep1'@'192.168.10.131'identifiedby'password';查詢主數(shù)據(jù)庫(kù)狀態(tài)Mysql>showmasterstatus;+------------------+------
4、----+--------------+------------------+
5、File
6、Position
7、Binlog_Do_DB
8、Binlog_Ignore_DB
9、+------------------+----------+--------------+------------------+
10、mysql-bin.000005
11、261
12、
13、
14、+------------------+----------+--------------+------------------+記錄下FILE及Position的值,在后面進(jìn)行從服務(wù)器操作的時(shí)候需要用到。2.2配置從服務(wù)器?
15、修改從服務(wù)器的配置文件/opt/mysql/etc/my.cnf將server-id=1修改為server-id=10,并確保這個(gè)ID沒(méi)有被別的MySQL服務(wù)所使用。啟動(dòng)mysql服務(wù)/opt/mysql/init.d/mysqlstart通過(guò)命令行登錄管理MySQL服務(wù)器/opt/mysql/bin/mysql-uroot-p'new-password'執(zhí)行同步SQL語(yǔ)句mysql>changemastertomaster_host=’192.168.10.130’,master_user=’rep1’,master_password=’password’,mas
16、ter_log_file=’mysql-bin.000005’,master_log_pos=261;?正確執(zhí)行后啟動(dòng)Slave同步進(jìn)程mysql>startslave;?主從同步檢查mysql>showslavestatusG==============================================****************1.row*******************Slave_IO_State:Master_Host:192.168.10.130Master_User:rep1Master_Port:3306Connect_Retr
17、y:60Master_Log_File:mysql-bin.000005Read_Master_Log_Pos:415Relay_Log_File:localhost-relay-bin.000008Relay_Log_Pos:561Relay_Master_Log_File:mysql-bin.000005Slave_IO_Running:YESSlave_SQL_Running:YESReplicate_Do_DB:……………省略若干……………Master_Server_Id:11rowinset(0.01sec)======================