一、MySQL從庫的概念
MySQL從庫是指通過數(shù)據(jù)復(fù)制技術(shù),將主庫中的數(shù)據(jù)復(fù)制到從庫中,從而實(shí)現(xiàn)數(shù)據(jù)的備份、讀取和負(fù)載均衡等功能。從庫一般用于讀取數(shù)據(jù),而不負(fù)責(zé)寫入數(shù)據(jù)。因?yàn)閺膸斓臄?shù)據(jù)是從主庫復(fù)制而來的,如果從庫也寫入數(shù)據(jù),就會(huì)導(dǎo)致數(shù)據(jù)沖突和數(shù)據(jù)不一致的問題。
二、MySQL從庫的讀寫權(quán)限設(shè)置
1. 讀權(quán)限設(shè)置
從庫的讀權(quán)限設(shè)置非常簡單,只需要在從庫上創(chuàng)建一個(gè)只讀用戶,并給予該用戶讀取數(shù)據(jù)的權(quán)限即可。具體步驟如下:
(1)在主庫上創(chuàng)建只讀用戶
ame'@'%' IDENTIFIED BY 'password';
(2)在從庫上創(chuàng)建只讀用戶
ame'@'%' IDENTIFIED BY 'password';
(3)從庫連接主庫
ameysql.000001',MASTER_LOG_POS=4;
(4)從庫開始復(fù)制數(shù)據(jù)
START SLAVE;
2. 寫權(quán)限設(shè)置
從庫的寫權(quán)限設(shè)置相對(duì)來說比較復(fù)雜,需要進(jìn)行以下步驟:
(1)在主庫上創(chuàng)建可寫用戶
ame'@'%' IDENTIFIED BY 'password';
(2)在從庫上創(chuàng)建可寫用戶
ame'@'%' IDENTIFIED BY 'password';
(3)在從庫上配置讀寫權(quán)限
ly=0;
(4)從庫連接主庫
ameysql.000001',MASTER_LOG_POS=4;
(5)從庫開始復(fù)制數(shù)據(jù)
START SLAVE;
需要注意的是,從庫的寫權(quán)限設(shè)置應(yīng)該謹(jǐn)慎操作,只有在必要的情況下才應(yīng)該開啟從庫的寫權(quán)限。因?yàn)閺膸斓臄?shù)據(jù)是從主庫復(fù)制而來的,如果從庫也寫入數(shù)據(jù),就會(huì)導(dǎo)致數(shù)據(jù)沖突和數(shù)據(jù)不一致的問題。