あるサーバから別のサーバにmysqldumpを復元しようとしています。私は、インポートを実行すると:ストアドファンクションなしのmysqldump
mysql -u user -p < file.sql
を私はエラーを取得:
You do not have the SUPER privilege and binary logging is enabled
簡単にGoogleは、私が設定して、それを修正することができていることを示しています。
SET GLOBAL log_bin_trust_function_creators = 1;
ただし、サーバー上で、私は私はroot権限を持っていません。MySqlアカウントには、この設定を行うのに十分な権限がありません。
私はマニュアルページを見ていた:https://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html
このエラーがインポートされている保存された機能に関連している可能性があり、それがこのエラーの原因となるので、それらが有効になっていないようです。
私は、元のデータベース上でこれを実行しました:
mysql> SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'mydatabase' AND ROUTINE_TYPE = 'PROCEDURE';
Empty set (0.00 sec)
だから、このエラーが発生した理由を元のデータベースがありませんので、ストアドプロシージャを持っていないようですか?
私はシステムにroot権限を持っていないので、私はmysqldumpのやりかたを変えることでこの問題を解決できますか?
データベースのインポートを機能させるにはどうすればよいですか?
編集;
これはトリガーによって引き起こされる可能性がありますか?元のデータベースに
SHOW TRIGGERS;
を、あなたがトリガやストアドルーチンを作成する前に