データ管理 (DMS) が提供するロックフリースキーマ変更機能を使用するには、管理するデータベースインスタンスに対してこの機能を有効にする必要があります。 このトピックでは、ロックフリースキーマ変更機能を有効にする方法について説明します。 このトピックでは、ロックフリースキーマ変更機能を有効にする方法について説明します。
前提条件
データベースタイプは、ApsaraDB RDS for MySQL、PolarDB for MySQL、MyBase for MySQL、または他のソースのMySQLデータベースです。
データベースインスタンスは、DMSの安定した変更またはセキュリティコラボレーションモードで管理されます。 詳細については、「インスタンスの制御モードの表示」をご参照ください。
データベース管理者 (DBA) またはDMS管理者です。 ユーザーのロールを表示する方法の詳細については、「システムロールの表示」をご参照ください。
手順
DMSコンソールV5.0 にログインします。
左側のナビゲーションウィンドウで、ロックフリースキーマ変更機能を有効にするデータベースインスタンスを見つけ、データベースインスタンスを右クリックして、[編集] を選択します。
説明または、上部のナビゲーションバーで
を選択します。 [インスタンス] ページの [インスタンスリスト] タブで、ロックフリースキーマ変更機能を有効にするインスタンスを見つけます。 [操作] 列の [その他] にポインターを移動し、[編集] を選択します。[編集] ダイアログボックスの詳細情報セクションで、有効 (オープン (DMS OnlineDDL最初))または有効 (オープン (MySQLネイティブOnlineDDLを最初に))からロックフリー構造の変更ドロップダウンリストを選択します。
オプション
説明
補足
有効 (オープン (DMS OnlineDDL first))
DMSは独自のロックフリーDDL機能を使用して、テーブルをロックせずにスキーマを変更できるようにします。
説明次の場合、ロックフリーDDL機能は使用できず、MySQLのネイティブオンラインDDL操作が自動的に使用されます。 これらの場合にテーブルがロックされているかエラーが発生すると、タスクは失敗します。
スキーマを変更するテーブルは空です。 空のテーブルでSQL文を実行してもリスクはありません。 この場合、MySQLのネイティブオンラインDDL操作は高速です。
一意のキーがSQL文に追加されます。 DMSのロックフリーDDL機能は、一意のキーを追加するSQL文をサポートしていません。
スキーマの変更には、MySQLのネイティブオンラインDDL操作を使用する場合よりも時間がかかります。 ただし、この機能はデータコピーには影響せず、待ち時間も発生しません。
有効 (オープン (MySQLネイティブOnlineDDLを最初に))
DMSは優先的にMySQLのネイティブオンラインDDL操作を使用してスキーマを変更します。 この場合、テーブルがロックされているか、スキーマの変更が失敗した場合、DMSはロックフリーDDL機能を使用してスキーマを変更します。 これにより、テーブルはロックされません。
スキーマの変更は高速ですが、レプリケーション用の並列スレッドはシリアルスレッドになる可能性があります。 これにより、プライマリデータベースとセカンダリデータベース間の同期遅延が発生します。
閉じる
DMSは、SQL文をMySQLデータベースにルーティングして実行します。 この場合、DMSはステートメントを処理しません。
非該当
保存 をクリックします。
指定されたデータベースインスタンスに対してロックフリースキーマ変更機能を有効にすると、DMSは次の種類のチケットを送信するときにこの機能を優先的に適用します。
ロックフリーDDL操作の実行: ロックフリースキーマ変更チケットを送信して、テーブルのスキーマを変更できます。
通常データの変更: 通常データ変更チケットを送信して、テーブルのスキーマを変更できます。