Azure Database for MySQL にオンプレのデータベースをインポート

普段 root@localhost ばかりでデータベースを運用しているので色々な制約があることを忘れていた…。

  1. Azure Database for MySQL では MyISAM はサポート外

    [code]
    ERROR 1030 (HY000): Got error 1 from storage engine
    sed -i -e "s/ENGINE=MyISAM//g" dumpfile.sql > dumpfile.sql.INNODB[/code]

  2. Super Privirage がないので DEFINER があるとエラーになる

    [code]ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation"
    cat dumpfile.sql.INNODB | sed ‘/DEFINER/d’ > dumpfile.sql.INNODB.DEFINER[/code]

今回はMistikの吉田さん、Microsoftのサポート各位にたいへんお世話になった(Twitter, フォーラム)。ありがとうございました。ようやく開発環境のデータベースをクラウドに移行できる。

関連して、(Moodle のデータベースを) リストアする時、ROW_FORMAT=COMPRESSED があるテーブルだけCREATE TABLEに失敗していたのでこの部分を削除する必要がある。

[code]sed -i -e "s/ROW_FORMAT=COMPRESSED//g" dumpfile.sql > dumpfile.sql.ROW_FORMAT[/code]

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です