您好,登錄后才能下訂單哦!
mysql的主從復制,主要通過binlog日志來實現
主要步驟:
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進程是否啟動,如果沒有啟動,就執行
start slave;
5 slave上配置只讀,在配置文件/etc/my.cnf中的mysqld中配置read_only=1
注意:read_only=1只讀模式,可以限定普通用戶進行數據修改的操作,但不會限定具有super權限的用戶(如超級管理員root用戶)的數據修改操作。
如果想保證super用戶也不能寫操作,就可以就需要執行給所有的表加讀鎖的命令 “flush tables with read lock;”
。
這樣使用具有super權限的用戶登錄數據庫,想要發生數據變化的操作時,也會提示表被鎖定不能修改的報錯。
我們的一般做法是,給從庫分配一個普通用戶。
將slave數據庫read-only=1設置只讀后,在master執行GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY'123456'WITH GRANT OPTION;
(這里要區別上面給從庫分配復制權限的寫法,這里分配的是usage權限, 后面多了with grant option)
創建一個普通用戶,
然后用普通用戶登錄從庫,執行操作會報錯。切換到root用戶后還是可以進行增刪改查的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。