root帳號為什么沒有super權限
關系型數據庫沒有給root帳號提供super權限。因為一旦用戶擁有了super權限,就可以執行很多管理性的命令,比如reset master,set global…,kill,reset slave等,很有可能導致主備關系異常而出現故障。
對于要求super權限的場景,RDS可以提供服務化能力,也可以通過其他方法繞過super權限的限制。
舉例1:通過登錄數據庫執行如下命令來修改參數,會報權限不足,您只能通過RDS界面修改參數。
set global 參數名= 參數值 ;
如果您的腳本中包含set global命令導致super缺失,請刪除set global命令,通過RDS界面修改參數。
舉例2:執行如下命令出現報錯,也是因為沒有super權限導致,只需要去除 definer='root' 關鍵字即可。
create definer='root'@'%’ trigger(procedure)…
如果您缺失super權限,可以使用mysqldump導入數據。
舉例3:如果在創建RDS for PostgreSQL插件時缺少super權限,請參考通過SQL命令安裝和卸載插件進行創建。
RDS for MySQL內置帳戶介紹
您在創建RDS for MySQL數據庫實例時,系統會自動為實例創建如下系統帳戶(用戶不可使用),用于給數據庫實例提供完善的后臺運維管理服務。
- mysql.session:用于插件內部使用訪問服務器 。
- mysql.sys:用于sys schema中對象的定義。
- rdsAdmin:管理帳戶,擁有最高的superuser權限,用于查詢和修改實例信息、故障排查、遷移、恢復等操作。
- rdsRepl:復制帳戶,用于備實例或只讀實例在主實例上同步數據。
- rdsMetric:指標監控帳戶,用于watchdog采集數據庫狀態數據。
- rdsbackup:備份帳戶,用于后臺的備份。
- dsc_readonly:用于數據脫敏。
MySQL是否支持多帳號
MySQL支持多帳號,用戶可以自己使用授權命令給這些帳號分配不同的權限以便控制訪問不同的表。各個表之間相互獨立。
Microsoft SQL Server 2017 企業版主備實例的登錄名權限如何同步到只讀實例
- 主實例創建的登錄名(Login Name)會每分鐘自動同步到只讀實例,需要等待1分鐘,同步完成后只讀實例上才可以使用創建的登錄名(Login Name)或修改密碼權限。
- 在只讀實例上可以添加、刪除、修改登錄名(Login Name)權限,因為主實例創建的登錄名(Login Name)會每分鐘自動同步到只讀實例,所以只讀實例上多余登錄名(Login Name)以及多余的權限將不會完全刪除,可以在只讀實例上移除多余的登錄名(Login Name)權限。
- 只讀實例上的帳號如果在主實例上存在,主實例的密碼會同步到只讀實例,在只讀實例上修改這類登錄名(Login Name)的密碼將不會生效。
Microsoft SQL Server中主實例的帳號刪除重建后,權限是否會自動同步
Microsoft SQL Server中主實例的帳號刪除重建后,主實例中的權限及其他修改會自動同步到備實例和只讀數據庫中。
本地客戶端連接實例后如何查看已授權的數據庫
使用本地客戶端連接數據庫后,執行以下命令授權后可正常查看數據庫,其中ip表示本地IP地址。
show grants for root@' ip ';
show grants for root@'%';