數據庫系統下的負載均衡功能配置
前面我們對負載均衡功能配置的系統方面配置,接下來我們就來具體介紹一下MySQL數據庫的負載均衡功能配置的問題。那么,分為幾個步驟來進行講解,結構比較清晰,望大家都能清楚了解配置過程。
MySQL數據庫系統負載均衡功能配置
為了能使上述系統實現一對多的主從復制(replication)和冗余機制,還需要對以上四個MySQL服務器進行一些必要的配置。
(1). 配置主機名和IP地址
本實現方案中把MySQL服務器Master主機名設為FreebsdMaster,IP地址配置為192.168.1.100,其它三臺Slave依次設為FreebsdSlave1,192.168.1.101;FreebsdSlave2,192.168.1.102;FreebsdSlave3,IP地址192.168.1.103。
(2). 設置root用戶密碼
MySQL的root用戶初始密碼為空,為保證系統安全必須為root用戶設置密碼:
[root@FreebsdMaster /]# /app/mysql5/bin/mysql –uroot –p
Enter password:
mysql>SET PASSWORD=PASSWORD(‘secret');
同Unix系統一樣,輸入密碼時屏幕沒有任何回顯,進入系統后執行SET PASSWORD SQL語句設置或修改MySQL root用戶密碼。為使應用系統服務器遠程連接到MySQL數據庫服務器,除本地root用戶以外,還要設置一個能從用戶內部網絡其它終端登錄的root用戶。具體操作如下:
mysql>USE mysql;
mysql>UPDATE user SET Host='%' WHERE Host='hostname.yourdomain' AND User='root';
mysql>flush privileges;
完成上述操作后應用系統服務器就可以連接到MySQL數據庫服務器進行各種操作了,這個遠程root用戶的初始密碼為空,用戶需要從遠程終端登錄,為其設置密碼。
(3). 負載均衡功能配置下一步:開啟MySQL服務器的二進制更新日志功能
上述MySQL服務器安裝完成后,安裝程序沒有生成my.cnf配置文件,為此用戶需要手工添加/etc/my.cnf文件。MySQL服務是由/app/myql5/libexec/mysqld提供的,其尋找my.cnf配置文件的默認順序為/etc/my.cnf,~/.my.cnf,/usr/local/mysql/etc/my.cnf。啟動ee編輯器,# ee /etc/my.cnf,在Master機器的配置文件寫入如下內容:
[mysqld]
log-bin=mysql-master-bin
server-id=1
在其它三臺Slave機器的配置文件/etc/my.cnf文件寫入如下內容:
[mysqld]
server-id=int
其中,int為一大于1且互不相等的正整數,如2,3,4等。若要完成負載均衡功能配置,務必要正確設置每個機器上的/etc/my.cnf配置文件,尤其是server-id不能有重復,這是一對多數據庫復制能否成功的關鍵!
設定好上述/etc/my.cnf文件后啟動Master上的MySQL數據庫服務時就自動開啟了二進制更新日志功能。在Slave上啟動MySQL時要加上--log-bin參數,即可開啟二進制更新日志功能。在Slave機器上啟動MySQL服務的命令如下:
# /app/mysql5/bin/mysqld_safe --user=mysql --log-bin &
這樣做的目的為了實現冗余容錯功能。當主服務器Master出現故障停止服務時,在預轉換角色成為Master的Slave上執行STOP SLAVE; RESET MASTER SQL語句,在其它兩臺Slave上執行CHANGE MASTER TO SQL語句,執行STOP SLAVE; RESET MASTER SQL語句的Slave服務器即轉換成新的Master,其余兩臺機器則從新的Master復制數據庫數據(在負載均衡功能配置操作中,復制的是更新UPDATE、INSERT等操作,并不是簡單的copy),從而實現冗余容錯。