#####################################
目前成都創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)頁空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設計、筠連網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。主從同步: 讓其他數(shù)據(jù)庫服務器自動同步正在提供服務的數(shù)據(jù)庫服務器上的數(shù)據(jù)。
構建主從同步
(a)確保主、從數(shù)據(jù)庫的數(shù)據(jù)相同
從庫必須要有主庫上的數(shù)據(jù)
(b)配置主服務器
啟用binlog日志,server_id,授權用戶
(c)配置從服務器
設置server_id
[master]
/etc/my.cnf
[mysqld]
server_id=11
log-bin=master11
binlog-format="mixed" /指定日志格式
#systemctl start mysqld
#mysql>grant replication slave on *.* slaveuser@"%" identified by "123456"; /授權slaveuser用戶在所有主機登錄,權限為replication slave
show master status; /查看binlog日志
[slave]
/etc/my.cnf
[mysqld]
server_id=12 /可以不啟用binlog日志
mysql>change master to
>master_host="192.168.4.11", /指出主服務器地址
>master_user="slaveuser", /指出使用slaveuser授權用戶登錄主服務器
>mster_password="123456", /授權用戶的密碼
>master_log_file="master11.000001", /指出主服務器現(xiàn)在的binlog日志
>master_log_pos=154; /主服務器binlog日志的偏移量
#start slave; /啟動復制
#show slave status; /查看slave狀態(tài)
slave_IO_running:yes /IO線程已運行
slave_SQL_running:yes /SQL線程已運行
IO線程: 復制master主機binlog日志文件里的SQL到本機的relay-log文件里
SQL線程: 執(zhí)行本機relay-log文件里的SQL語句,重現(xiàn)master數(shù)據(jù)操作
出現(xiàn)問題解決:
IO線程狀態(tài)是no ---> 沒有連接到主服務器上等
SQL線程狀態(tài)是no ---> 主從數(shù)據(jù)不同步等
#ls /var/lib/mysql
master.info /連接主服務器信息
relay-log.info /中繼日志消息
主機名-relay-bin.xxxxxx /中繼日志
主機名-relay-bin.index 中繼日志索引文件
主從同步模式
一主一從
一主多從
主從從(主---從(主)---從) /1是2的主,2是1的從且是3的主,3是2的從
主主結構(互為主從)
主庫配置文件(對所有從服務器有效)
只允許同步的庫 binlog_do_db=庫1,庫2
不允許同步的庫 binlog_ignore_db=庫1,庫2
從庫配置文件
只允許同步的庫 replicate_do_db=庫1,庫2
不允許同步的庫 replicate_ignore_db=庫1,庫2
級連復制 log_slave_updates
#########################################
為了緩解主服務器的壓力,采用讀寫分離,即客戶端進行寫操作時,進入主服務器,客戶端進行讀操作時,進入從服務器
實現(xiàn)方式: maxscale軟件 + 一主一從
[master11]
[slave12]
slave12是master11的從服務器
[monitor13]
#rpm -ivh maxscale..
修改配置文件
/etc/maxscale.cnf
(a)指定數(shù)據(jù)庫服務器
[server1]
[server2]
(b)指定監(jiān)控的數(shù)據(jù)庫服務器
(c)指定讀寫在那些服務器之間執(zhí)行
(d)定義管理服務
(e)讀寫分離使用的端口 port=4006
(f)管理服務使用的端口 port=4009
(g)根據(jù)配置文件,在數(shù)據(jù)庫服務器上添加相應的授權用戶
[master11]
>grant replication slave replication client on *.* to scalemon@"%" identified by "123456";
使用scalemon 用戶監(jiān)控讀寫分離服務器
>grant select on mysql.* to saclemax@"%" identified by "123456";
使用scalemax 用戶監(jiān)控登錄的用戶是否是數(shù)據(jù)庫的授權用戶
[monitor13]
maxscale --help
#maxscale -f /etc/maxsacle.cnf /啟動服務
#netstat -lnptu | grep :4006
maxadmin -uamdin -pmariadb -P4009
maxscale>list servers /列出監(jiān)控的服務器
#killall maxscale /殺死進程,停止服務
驗證
[宿主機254]
#mysql -h292.168.4.13 -P4006 -uuser -p123456
>select @@hostname /查看當前處于哪個數(shù)據(jù)庫服務器
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。