我無法在 GCP MySQL 執行個體中還原 mysql 資料庫

我無法在 GCP MySQL 執行個體中還原 mysql 資料庫

我厭倦了從 GCP 存儲中的 sql 文件恢復 MySQL 數據庫,步驟是將數據庫備份文件上傳到 GCP 存儲,然後將此 sql 文件導入到 GCP MySQL 實例中的指定數據庫,花了一段時間,發生了異常,即

 Import error: exit status 1 ERROR 1227 (42000) at line 10871: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

然後我嘗試向 root 或任何其他用戶授予超級權限,但無論如何它都不起作用,但它不允許我授予超級權限,我不知道如何解決這個問題,任何幫助都會很大讚賞的

更新(2020年1月17日):我已經解決的問題

我試圖找到發生例外的行

$ sed -n -e 10870p -e 10871p -e 10872p -e 10873p 範例.sql

我發現

/*!50013 DEFINER= root@SQLlocalhost安全定義器 */

然後我用這個命令刪除了有問題的語句

貓範例.sql | sed -e 's/DEFINER= root@ localhost//g' > example-CLEANED.sql

然後就完成了

答案1

應該CURRENT_USERSUPER特權,但目前DEFINER沒有。再次轉儲它mysqldump --skip-definer(將是最省力的)。如果這不應該是一個選項,請編輯轉儲並刪除DEFINER,或將所有出現的 替換為CURRENT_USERSET轉儲中的某些語句最終也可能導致該問題。

相關內容