您好,登錄后才能下訂單哦!
1.背景:
基于網絡安全環境的惡化,以前用最高權限和root用戶直接進行備份的操作越來越不可取,每次手工備份
太麻煩,基于腳本備份又怕高權限賬號泄密。
2.解決思路:
權限最小化賦予
3.操作:
使用物理備份工具備份時可能需要的權限:
物理備份工具:innobackupex,MySQL Enterprise Backup等等
權限:lock tables
作用:備份時鎖表,產生一致性備份
權限:process
作用:show processlist,show engine innodb status,查看線程,查看引擎狀態
權限:reload
作用:flush table/host/logs/tables/status/threads/refresh/reload,所有的flush操作。用于鎖表,切割日志,更新權限
權限: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 bak@'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 view on *.* to bak@'192.168.%';
flush privileges;
備注:
super權限可以防止因為線程滿,備份任務無法連接數據庫而導致的備份翻車。且阻斷刷新線程也是很重要
innobackupex主要以物理文件和備份緩存文件的方式進行,所以不需要show權限與select權限
邏輯備份的基本原理就是數據全部讀取,必須select與show權限,查看表定義的權限由select權限提供
login-path的以port+host的方式保存時,會在用戶目錄下生成.login.cnf文件,拷貝到網絡互通的其他主機上,仍然可以登陸,方便的同時也留下禍根
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。