標籤:不可 oba 相關 需要 過濾 reload 進位 增刪改 pre
1.背景:
基於網路安全環境的惡化,以前用最高許可權和root使用者直接進行備份的操作越來越不可取,每次手工備份太麻煩,基於指令碼備份又怕高許可權帳號泄密。
2.解決思路:
許可權最小化賦予
3.操作:
使用物理備份工具備份時可能需要的許可權: 物理備份工具:innobackupex,MySQL Enterprise Backup等等 許可權:lock tables 作用:備份時鎖表,產生一致性備份 許可權:reload 作用:show processlist,show engine innodb status,查看線程,查看引擎狀態 許可權:replication client 作用:show master/slave status;查看交易記錄執行狀態與位置 show binary logs;查看當前儲存的交易記錄列表與檔案大小 許可權:super 作用:super許可權很多很多,但是沒有CURD(增刪改查許可權),這裡點到為止說一下和備份相關的 起停複製線程,切換主庫位置,更改複製過濾條件,清理二進位日誌, 賦予賬戶視圖與預存程序的DEFINER許可權,建立連結的伺服器(類似於MSSQL的訂閱伺服器), 關閉線程,不受最大連接線程數限制的VIP串連通道,阻斷重新整理線程的命令,不受離線模式影響, -- 授權語句: grant lock tables,reload,process,replication client,super on *.* to [email protected]‘192.168.%‘;flush privileges;使用邏輯備份工具備份時可能需要的許可權: 邏輯備份工具:mysqldump,mysqlpump,mydumper等等 許可權:SELECT 作用:查詢表中資料 許可權:SHOW VIEW 作用:查看建立表的語句 許可權:TRIGGER 作用:備份觸發器 許可權:EVENT 作用:備份事件(定時任務) 許可權:lock tables 作用:備份時鎖表,產生一致性備份 許可權:reload 作用:show processlist,show engine innodb status,查看線程,查看引擎狀態 許可權:replication client 作用:show master/slave status;查看交易記錄執行狀態與位置 show binary logs;查看當前儲存的交易記錄列表與檔案大小 許可權:super 作用:關閉線程,不受最大連接線程數限制的VIP串連通道,阻斷重新整理線程的命令,不受離線模式影響-- 授權語句: grant lock tables,reload,process,replication client,super,select,event,trigger,show event on *.* to [email protected]‘192.168.%‘;flush privileges;
備忘:
super許可權可以防止因為線程滿,備份任務無法串連資料庫而導致的備份翻車。且阻斷重新整理線程也是很重要innobackupex主要以物理檔案和備份快取檔案的方式進行,所以不需要show許可權與select許可權邏輯備份的基本原理就是資料全部讀取,必須select與show許可權,查看錶定義的許可權由select許可權提供
【MySQL】【安全】探討MySQL備份所需最小許可權