溫馨提示×

溫馨提示×

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

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

mysql的主從復制,從庫設為只讀不能寫

發(fā)布時間:2020-07-03 01:12:31 來源:網(wǎng)絡 閱讀:477 作者:拎壺沖沖沖 欄目:MySQL數(shù)據(jù)庫

mysql的主從復制,主要通過binlog日志來實現(xiàn)

主要步驟:

1、master授權從庫連接(master上操作)

grant replication slave on . to 'backup'(用戶名)@'192.168.1.131(從庫ip)' identified by 'backup'(密碼);

2、master上操作:show master status;記錄master上的日志文件名、position兩個值需要記住后面要用

3、slave上操作:讓slave連接master,并開始重做master二進制日志中的事件。master_log_file的值為上面的日志文件名;master_log_pos為position的值

change master to master_host='192.168.1.131(主庫ip)',master_user='backup',master_password='backup',master_log_file='ZHAOPAN-PC-bin.000004(日志文件名)',master_log_pos=120(position的值);

4 slave上操作查看從庫:show slave status\G;查看第三步的配置信息,并且要查看io進程是否啟動,如果沒有啟動,就執(zhí)行

start slave;

5 slave上配置只讀,在配置文件/etc/my.cnf中的mysqld中配置read_only=1

注意:read_only=1只讀模式,可以限定普通用戶進行數(shù)據(jù)修改的操作,但不會限定具有super權限的用戶(如超級管理員root用戶)的數(shù)據(jù)修改操作。

如果想保證super用戶也不能寫操作,就可以就需要執(zhí)行給所有的表加讀鎖的命令 “flush tables with read lock;”。

這樣使用具有super權限的用戶登錄數(shù)據(jù)庫,想要發(fā)生數(shù)據(jù)變化的操作時,也會提示表被鎖定不能修改的報錯。

我們的一般做法是,給從庫分配一個普通用戶。

將slave數(shù)據(jù)庫read-only=1設置只讀后,在master執(zhí)行GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY'123456'WITH GRANT OPTION;(這里要區(qū)別上面給從庫分配復制權限的寫法,這里分配的是usage權限, 后面多了with grant option)

創(chuàng)建一個普通用戶,

然后用普通用戶登錄從庫,執(zhí)行操作會報錯。切換到root用戶后還是可以進行增刪改查的。

向AI問一下細節(jié)

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

AI