国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

文字

MySQL主從復制讀寫分離授權方案及實踐

當配置好MySQL主從復制后,由于數據復制是單向的,所有對數據庫的更新操作都必須在主服務器上進行,只有在主庫上更新,才能避免用戶對主服務器上數據庫內容的更新與對從服務器上數據庫內容的更新一致,而不會發(fā)生沖突。

MySQL復制環(huán)境用戶授權方案

生產授權方案1

方案1、2對比推薦使用方案1,生產環(huán)境中推薦使用忽略授權表方式授權

數據庫用戶名密碼IP地址端口權限
主庫webpasswd192.168.0.123306selectinsertdeleteupdate
從庫webpasswd192.168.0.133306select

說明
從庫的用戶名和密碼:主庫的web用戶同步到從庫,然后通過revoke權限回收將insert,delete,update權限回收。

主庫用戶授權示例:

grant select,insert,update,delete on dbName.* to 'userName'@'localhost' identified by 'password';

提示:特殊的業(yè)務可能權限會比較多,如果業(yè)務安全性要求不高,也可以給與all privileges權限。

從庫用戶授權示例:

grant select,insert,update,delete on dbName.* to 'userName'@'localhost' identified by 'password';

revoke insert,update,delete on on dbName.* from 'userName'@'localhost';
當然也可以不回收權限,通過配置文件在[mysqld]區(qū)域設置read-only或者在mysql啟動時指定read-only參數。修改完記得重啟服務
另外:read-only參數可以讓slave服務器只允許來自slave服務器線程或者具有super權限(即對用戶授權時不能指定有super或all privileges權限)的用戶更新。
但可以確保slave服務器不接受來自普通用戶的更新,slave服務器啟動選項增加--read-only也是同樣的功能。


生產授權方案2

數據庫用戶名密碼IP地址端口權限
主庫web_wpasswd192.168.0.123306selectinsertdeleteupdate
從庫web_rpasswd192.168.0.133306select

說明
在主庫授權web_w賬號、從庫授權web_r賬號對應權限權限;
對于開發(fā)而言,使用多套用戶名密碼不專業(yè)。

通過忽略授權表的方式防止數據寫入從庫的方法

在生產環(huán)境中,一般會采取忽略授權表方式同步,然后對從服務器(slave)上的用戶僅授權select讀權限。不同步mysql庫,這樣的話我們就保證了主庫和從庫相同的用戶可以授權不同的權限。在主從庫分別進行如下授權:

數據庫用戶名密碼IP地址端口權限
主庫webpasswd192.168.0.123306selectinsertdeleteupdate
從庫webpasswd192.168.0.133306select

忽略mysql庫和information_schema庫的主從同步參數

缺陷:從庫切換主庫時,連接用戶權限問題??梢员A粢粋€從庫專門準備接替主。

[mysqld]
binlog-do-db=dbName # 要同步的某個庫
replicate-ignore-db=mysql
binlog-ignore-db=mysql  # 不同步的庫
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema

另外:忽略記錄binlog日志的參數binlog-ignore-db一般用于系統(tǒng)的庫和表。(修改完my.cnf后重啟服務)

replication中忽略binlog數據量

master端參數:

--binlog-do-db 二進制日志記錄的數據庫(多個數據庫用,分割)
--binlog-ignore-db 二進制日志忽略的數據庫(多個數據庫用,分割)

slave端參數:

--replication-do-db 設定需要復制的數據庫(多個數據庫用,分割)
--replication-ignore-db 設定忽略復制的數據庫(多個數據庫用,分割)
--replocation-do-table 設定需要復制的表(多個表用,分割)
--replication-ignore-table 設定忽略復制的表(多個表用,分割)
--replication-wild-do-table--replocation-do-table功能一樣,但是可以加通配符。
--replication-wild-ignore-table--replication-ignore-table功能一樣,但是可以加通配符。


上一篇: 下一篇: