2016-08-30 13 views
4

第1世代クラウドSQLで現在実行中のデータベースダンプを使用して第2世代クラウドSQLインスタンス(v5.7)を作成しようとしています。トリガークラウドsql第2世代

/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `resourcetypetransaction_AFTER_INSERT` AFTER INSERT ON `resourcetypetransaction` FOR EACH ROW 
    BEGIN 
    INSERT INTO `resourcetypetransactionlog` SELECT * 
              FROM `resourcetypetransaction` 
              WHERE id = NEW.id; 
    END */;; 

第2世代にデータベースを挿入しようとした結果は次のとおりです:第2世代にこのようなトリガを有効にする方法は

shinkansen:sql ameyer$ cat gae_2016-08-30T08\:21\:33.sql | mysql -u root -pxxxx -h xxxx napoleon; 
mysql: [Warning] Using a password on the command line interface can be insecure. 
ERROR 1419 (HY000) at line 1067: 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) 

ありますこれは、いくつかのトリガーを持っていますか?

乾杯、 アンドレス

答えて

6

レプリケーションが有効になっている場合、いくつかのトリガーは一貫性のない結果を生成することができますので、それらはデフォルトの設定では許可されません。レプリケーションまたはバイナリ・ログ、あなたは無効にすることができ時点でのリカバリーを行うことができることを気にしない場合は

  • は、2つのオプションがあります。

  • トリガーが安全であると確信が持てる場合は、インスタンスを編集してlog_bin_trust_function_creatorsフラグをadvanced optionsの真に設定することができます。安全のためには、トリガーはマスターとレプリカの両方で同じ効果を生成することを保証する必要があります。あなたは説明し、次の投稿で危険なトリガの例を見つけることができます:https://dba.stackexchange.com/questions/73447/why-when-does-creating-a-mysql-trigger-require-super-privileges

+0

を「クラウドシェルでmysqlクライアントを使用する」をGoogleで検索する十分な評判を持っていない、私はまだ後に同じエラーを持っています/ *!50017 DEFINER = 'root' @ '%' */by/*!50017 */ – cputoaster

+0

申し訳ありませんが、私はエラーメッセージで十分に近づいていませんでした。情報。 – Vadim

+0

は正常に動作します。私はマスターとスレーブでわずかに異なる時間を作成するトリガーに "今"()を持っていますが、私はそれが問題ではないと思っています。クラウドSQLはすぐに複数のsql_modeフラグをサポートしてくれることを願っていますので、きれいな日付コードも書くことができます。 – cputoaster

0

私は同じ問題を抱えていました。次の操作はどうですか? 1.クラウド・ストレートでエクスポートされた.sqlファイルをダウンロードします。2. CLIでCLIでクラウドSQLに接続します。3.インポートします(例:source xxx.sql)。

3

同じ問題が発生しました。すべてのフォーラムを読んだ後、解決策はコンソールの代わりにGoogle Cloud SQLからコントロールパネルに変数を設定することです。

  1. は、インスタンスのページに入力します:Instances

  2. があなたのインスタンスを選択し、編集して行きます。 (3つの点のボタンを押す)。

  3. 「Marcas de Cloud SQL」のフラグの最後のオプションに移動します。

  4. 変数をON状態にします。

    log_bin_trust_function_creators -> ON

  5. 私はまた、数分待ってからクラウドシェルに入力する必要がありました。 (私はリンクを入力するが、これは動作しませんでした

2nd Generation Cloud SQL

関連する問題