Amazon EC2 から RDS に MySQL データベースをコピーしようとしています。
mysqldump
次のようにして、データベースをルート フォルダーに正常にコピーしました。
root@ip-xx-xx-xx-xx:~# mysqldump my_database -u my_username -p > my_database.sql
次に、この .sql ファイルを新しい RDS データベースに転送しようとしました。
root@ip-xx-xx-xx-xx:~# mysql my_database -u my_username -p -h
my_new_database.xxxxxxxxx.us-east-1.rds.amazonaws.com < my_database.sql
残念ながら、次のエラー メッセージが表示されます。
You do not have the SUPER privilege and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_function_creators variable)
GRANT SUPER..
いろいろな方法で試してみましたが、その方法を試してもエラーが発生します。入力してmysql > FLUSH privileges;
も機能しません。
私は MySQL 初心者なので、このような簡単な質問で申し訳ありません。ご意見をお聞かせください。
ベストアンサー1
- RDS Web コンソールを開きます。
- 「パラメータ グループ」タブを開きます。
- 新しいパラメータ グループを作成します。ダイアログで、MySQL データベース バージョンと互換性のある MySQL ファミリを選択し、名前を付けて確認します。作成したばかりのパラメータ グループを選択し、「パラメータの編集」を発行します。
- パラメータを探して
log_bin_trust_function_creators
、その値を に設定します1
。 - 変更を保存します。
- 「インスタンス」タブを開きます。MySQL インスタンスを展開し、「インスタンス アクション」の「変更」を発行します。
- 作成したばかりのパラメータ グループを選択し、「すぐに適用」を有効にします。
- 「続行」をクリックして変更を確認します。
- 「変更」操作が完了するまで待ちます。
- もう一度、「インスタンス」タブを開きます。MySQL インスタンスを展開し、「インスタンス アクション」タブを展開して、「再起動」を選択します。
再起動は必要ありませんlog_bin_trust_function_creators
には があるためですapply type = dynamic
。少なくとも、RDS にすでにパラメータ グループが添付されていて、それを編集する場合、新しいパラメータ グループを作成する場合とは対照的に、これは当てはまります。パラメータ編集を保存するだけで準備完了です。