RDSforMySQL許可權問題(錯誤程式碼:1227,1725)
RDS for MySQL許可權問題(錯誤程式碼:1227,1725)
1. 錯誤資訊
[Err] 1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation --常見於 RDS MySQL 5.6
ERROR 1725 (HY000) at line 1936: OPERATION need to be executed set by ADMIN --常見於 RDS MySQL 5.5
2. 錯誤出現的場景
-
在建立 儲存過程、函式、觸發器、事件、檢視的時候出現這個錯誤。
-
從本地資料庫匯出 SQL,在 RDS 上應用該 SQL 的時候出現該錯誤。
-
從 RDS for MySQL 5.6 例項下載邏輯備份,匯入到 RDS 或本地資料庫中。
3. 錯誤原因
- 匯入RDS MySQL 例項:SQL 語句中含有需要 Supper 許可權才可以執行的語句,而 RDS MySQL不提供 Super 許可權,因此需要去除這類語句。
- 本地 MySQL 例項沒有啟用 GTID。
4. 解決
4.1 去除 DEFINER 子句
檢查 SQL 檔案,去除下面類似的子句
DEFINER=`root`@`%`
在 Linux 平臺下,可以嘗試使用下面的語句去除:
sed -e `s/DEFINER[ ]*=[ ]*[^*]**/*/ ` your.sql > your_revised.sql
4.2 去除 GTID_PURGED 子句
檢查 SQL 檔案,去除下面類似的語句
SET @@GLOBAL.GTID_PURGED=`d0502171-3e23-11e4-9d65-d89d672af420:1-373,
d5deee4e-3e23-11e4-9d65-d89d672a9530:1-616234`;
在 Linux 平臺,可以使用下面的語句去除
awk `{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }` your.sql | grep -iv `set @@` > your_revised.sql
4.3 檢查修改後的檔案
修改完畢後,通過下面的語句檢查是否合乎要求。
egrep -in "definer|set @@" your_revised.sql
如果上面的語句沒有輸出,說明 SQL 檔案符合要求。
相關文章
- 關於公司程式碼許可權的問題
- hadoop命令報錯:許可權問題Hadoop
- 無程式碼實現CRM角色許可權問題
- MySQL許可權問題MySql
- 用無程式碼解決CRM角色許可權問題
- 動態SQL 無許可權錯誤SQL
- android 許可權問題Android
- SQL Server許可權問題SQLServer
- .NET 程式許可權控制、獲得管理員許可權程式碼
- android AVC錯誤修改許可權方法Android
- moderator permission的許可權問題
- 微信小程式——getLocation許可權彈框不出現,介面訪問失敗——錯誤排查微信小程式
- Oracle RAC啟動CRS報錯:登陸許可權問題Oracle
- 認證/授權與許可權的問題
- Ubuntu 下 Composer 許可權問題Ubuntu
- vue許可權問題解決方案Vue
- hdfs檔案本地許可權問題
- Laravel Daily 日誌許可權問題LaravelAI
- Mysql資料庫許可權問題MySql資料庫
- ASM中磁碟組許可權問題ASM
- Win7最高許可權問題Win7
- linux檔案許可權問題Linux
- sqlserver 賦予許可權的問題SQLServer
- 【Git】程式碼許可權&分支管理Git
- 各位高手,問下許可權上的問題
- Laravel 框架的日誌許可權問題Laravel框架
- Laravel 日誌檔案許可權問題Laravel
- iOS10 許可權崩潰問題iOS
- Android許可權問題整理 非常全面Android
- ubuntu下解決wireshark許可權問題Ubuntu
- public_html的許可權問題(轉)HTML
- SQL Server 2000 許可權問題SQLServer
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- asp.net 訪問許可權錯誤 從新註冊aspnet_regiisASP.NET訪問許可權
- 記一次 Laravel日誌許可權許可權問題(定時器導致)Laravel定時器
- 授權物件許可權後的授權者顯示問題物件
- Mac修復多個檔案錯誤許可權的方法?Mac
- 遇到問題,需要開發角色許可權模組