溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫(六)

發(fā)布時間:2020-06-23 13:43:29 來源:網(wǎng)絡(luò) 閱讀:366 作者:ww魏偉 欄目:MySQL數(shù)據(jù)庫

#####################################

MySQL數(shù)據(jù)庫主從同步

主從同步: 讓其他數(shù)據(jù)庫服務(wù)器自動同步正在提供服務(wù)的數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)。

構(gòu)建主從同步
(a)確保主、從數(shù)據(jù)庫的數(shù)據(jù)相同
從庫必須要有主庫上的數(shù)據(jù)
(b)配置主服務(wù)器
啟用binlog日志,server_id,授權(quán)用戶
(c)配置從服務(wù)器
設(shè)置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";   /授權(quán)slaveuser用戶在所有主機登錄,權(quán)限為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",        /指出主服務(wù)器地址
>master_user="slaveuser",       /指出使用slaveuser授權(quán)用戶登錄主服務(wù)器
>mster_password="123456",       /授權(quán)用戶的密碼
>master_log_file="master11.000001",  /指出主服務(wù)器現(xiàn)在的binlog日志
>master_log_pos=154;            /主服務(wù)器binlog日志的偏移量

#start slave;    /啟動復(fù)制

#show slave status;   /查看slave狀態(tài)
slave_IO_running:yes    /IO線程已運行
slave_SQL_running:yes   /SQL線程已運行

IO線程: 復(fù)制master主機binlog日志文件里的SQL到本機的relay-log文件里
SQL線程: 執(zhí)行本機relay-log文件里的SQL語句,重現(xiàn)master數(shù)據(jù)操作

出現(xiàn)問題解決:
IO線程狀態(tài)是no  ---> 沒有連接到主服務(wù)器上等
SQL線程狀態(tài)是no ---> 主從數(shù)據(jù)不同步等

#ls /var/lib/mysql
master.info   /連接主服務(wù)器信息
relay-log.info /中繼日志消息
主機名-relay-bin.xxxxxx /中繼日志
主機名-relay-bin.index 中繼日志索引文件

主從同步模式
一主一從
一主多從
主從從(主---從(主)---從)  /1是2的主,2是1的從且是3的主,3是2的從  
主主結(jié)構(gòu)(互為主從)

主庫配置文件(對所有從服務(wù)器有效)
只允許同步的庫 binlog_do_db=庫1,庫2
不允許同步的庫 binlog_ignore_db=庫1,庫2

從庫配置文件
只允許同步的庫 replicate_do_db=庫1,庫2
不允許同步的庫 replicate_ignore_db=庫1,庫2
級連復(fù)制 log_slave_updates

#########################################

MySQL數(shù)據(jù)庫的讀寫分離

為了緩解主服務(wù)器的壓力,采用讀寫分離,即客戶端進行寫操作時,進入主服務(wù)器,客戶端進行讀操作時,進入從服務(wù)器

實現(xiàn)方式: maxscale軟件 +  一主一從
[master11]
[slave12]
slave12是master11的從服務(wù)器

[monitor13]
#rpm -ivh maxscale..
修改配置文件
/etc/maxscale.cnf
(a)指定數(shù)據(jù)庫服務(wù)器
[server1]
[server2]
(b)指定監(jiān)控的數(shù)據(jù)庫服務(wù)器
(c)指定讀寫在那些服務(wù)器之間執(zhí)行
(d)定義管理服務(wù)
(e)讀寫分離使用的端口 port=4006
(f)管理服務(wù)使用的端口 port=4009
(g)根據(jù)配置文件,在數(shù)據(jù)庫服務(wù)器上添加相應(yīng)的授權(quán)用戶
[master11]
>grant replication slave replication client on *.* to scalemon@"%" identified by "123456";
使用scalemon 用戶監(jiān)控讀寫分離服務(wù)器
>grant select on mysql.* to saclemax@"%" identified by "123456";
使用scalemax 用戶監(jiān)控登錄的用戶是否是數(shù)據(jù)庫的授權(quán)用戶

[monitor13]
maxscale --help
#maxscale -f /etc/maxsacle.cnf     /啟動服務(wù)
#netstat -lnptu | grep :4006
maxadmin -uamdin -pmariadb -P4009
maxscale>list servers    /列出監(jiān)控的服務(wù)器
#killall maxscale  /殺死進程,停止服務(wù)

驗證
[宿主機254]
#mysql -h292.168.4.13 -P4006 -uuser -p123456
>select @@hostname   /查看當(dāng)前處于哪個數(shù)據(jù)庫服務(wù)器
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI