tencent cloud

フィードバック

MySQLマスターインスタンスパラメータの変更影響

最終更新日:2020-07-03 15:38:59

    MySQLインスタンスの場合は、コンソールでマスターインスタンスのパラメータを変更できます。その中の重要なパラメータについて、不適切な変更方式を使用すると、災害復旧インスタンスの異常やデータの不整合を引き起こす可能性があります。このドキュメントでは、次のように重要なパラメータの変更による影響を説明します。

    lower_case_table_names

    デフォルト値:0
    役割:データベースとテーブルを作成する時、保存と問い合わせの時に大文字と小文字が区別されるか。このパラメータには数値0、1を設定できます。デフォルト値0は、データベースとテーブルの作成時に保存と問い合わせの両方で大文字と小文字が区別されることを意味し、逆の場合は区別されません。
    影響:マスターインスタンスのパラメータが変更されると、災害復旧インスタンスのパラメータを同期的に変更できません。マスターインスタンスの大文字と小文字が区別されるが、災害復旧インスタンスの大文字と小文字が区別されない場合、例えば、マスターインスタンスがTestとTEstのテーブル名を持つ2つのテーブルを作成し、災害復旧インスタンスがそのログを適用すると、TEstのテーブル名がすでに存在するため、データの同期ステータスの異常が発生します。

    auto_increment_increment

    デフォルト値:1
    役割:は、自動採番列AUTO_INCREMENTに使用される増分値です。このパラメータは1~65535の範囲で設定でき、デフォルト値は1です。
    影響:マスターインスタンスのパラメータが変更されると、災害復旧インスタンスのパラメータを同期的に変更できません。マスターインスタンスが自動採番列の増分値を変更したが、災害復旧インスタンスが同期に変更されない場合、マスターインスタンスと災害復旧インスタンスのデータが一致しない可能性があります。

    auto_increment_offset

    デフォルト値:1
    役割:自動採番列AUTO_INCREMENTに使用される初期値(オフセット値)です。このパラメータは1~65535の範囲で設定でき、デフォルト値は1です。
    影響:マスターインスタンスのパラメータが変更されると、災害復旧インスタンスのパラメータを同期的に変更できません。マスターインスタンスが自動採番列の初期値を変更したが、災害復旧インスタンスが同期に変更されない場合、マスターインスタンスと災害復旧インスタンスのデータが一致しない可能性があります。

    sql_mode

    デフォルト値:NO_ENGINE_SUBSTITUTION
    役割:MySQLは別のsqlモードで実行できます。sqlモードでは、mysqlがサポートすべきのsql構文、データ検証などを定義しています。バージョン5.6のデフォルトのパラメータ値はNO_ENGINE_SUBSTITUTIONであり、使用するストレージエンジンが無効またはコンパイルされていない場合にエラーがスローされることを示します。バージョン5.7のデフォルトのパラメータ値はONLY_FULL_GROUP_BYSTRICT_TRANS_TABLESNO_ZERO_IN_DATENO_ZERO_DATEです。
    ,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    そのうち:

    • ONLY_FULL_GROUP_BYはGROUP BYの集約処理時に、SELECT文の列、HAVING或いはORDER BY句の列はGROUP BYに存在するか、GROUP BY列に依存する関数列でなければならないことを示します。
    • STRICT_TRANS_TABLESはStrictモードが有効になっていることを示します。
    • NO_ZERO_IN_DATEは日付の月と日に0が含まれることを許可するか、且つStrictモードを有効にすると影響を受けるかを示しています。
    • NO_ZERO_DATEはデータベースにゼロ日付をインサートすることを許可せず、且つStrictモードを有効にすると影響を受けることを示しています。
    • ERROR_FOR_DIVISION_BY_ZEROは、Strictモードの場合、INSERT或いはUPDATEを実行する時、データがゼロで割ると、警告ではなくエラーが発生するが、Strictモード以外の場合、データがゼロで割ると、MySQLがNULLを返すことを示しています。
    • NO_AUTO_CREATE_USERは、パスワードがNULLのユーザを新規作成するGRANT文が禁止されることを示しています。
    • NO_ENGINE_SUBSTITUTIONは、使用するストレージエンジンが無効になっているか、コンパイルされていない場合にエラーがスローされることを示しています。

    影響:マスターインスタンスのパラメータが変更されると、災害復旧インスタンスのパラメータを同期的に変更できません。マスターインスタンスがsql modeを変更したが、災害復旧インスタンスが同期に変更されない場合、例えば、マスターインスタンスのsql modeの制限が災害復旧インスタンスのsql mode制限よりも低いことが、マスターインスタンスで実行したSQLが災害復旧インスタンスに同期される時にエラーが発生し、マスターインスタンスと災害復旧インスタンスのデータが一致しない可能性があります。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)