1. ホーム
  2. リナックスオペレーションズ

この操作を行うには、少なくとも1つのSUPER権限が必要です。

2022-02-08 18:44:42

AliCloudデータベースのインポートエラー

ERROR 1227 (42000) at line 85511: この操作には(少なくとも1つの)SUPER権限が必要です。

root権限が必要ですが、AliCloudには権限がないので、sqlファイルの設定を削除する必要があります

sqlファイルのディレクトリにcdして、DEFINERに問い合わせる。

[root@ifz 2]# grep -rnR "DEFINER" *
we.sql:85512:/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */

クエリには、85512行目に次のような記述があります。

削除

/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */。

再度インポートするだけ

削除方法です。

vi we.sql

ファイルを読み込んだら、:85512と入力してEnterでこの行に直接ジャンプし、iを押して編集、削除、ecsを押して編集終了、:wq、Enterで保存します。

方法2

Linuxのコマンドラインから、以下のコマンドでストアドプロシージャ、トリガ、および関数をエクスポートします。

mysqldump -h 127.0.0.1 -u root -p --opt --default-character-set=utf8 --hex-blob <Self-built database name> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp /<Self-built database name>Trigger.sql

mysqldump -h 127.0.0.1 -u root -p --opt --default-character-set=utf8 --hex-blob testdb -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\/\ /*/' > /tmp/ testdbTrigger.sql

------------------------------------------------------------

rdsはテーブル名の大文字と小文字を区別します。

lower_case_table_names=0 識別可能 lower_case_table_names=1 識別不可