外部MySQL DB System関連の前提条件タスクの実行

外部MySQL DBシステムのデータベース管理を有効にして使用する前に、次の表に示す前提条件タスクを完了する必要があります。

タスク 説明 詳細情報
MySQL変数および表の構成

外部MySQL DBシステムのパフォーマンス・メトリックの収集、データベース管理でのSQLパフォーマンスの監視および分析などのタスクを実行するには、次のMySQL変数および表を構成する必要があります。

  • performance_schema: この変数はデフォルトでONに設定されており、パフォーマンス・スキーマを有効にするために必要です。
  • max_digest_length: この変数は、より大きなSQL文のコレクションに必要です。デフォルト値は1024で、長い文のコレクションを許可するには、値を4096に設定することをお薦めします。
  • performance_schema_max_digest_length: この変数は必須であり、値はmax_digest_length変数の値セットと一致する必要があります。
  • performance_schema_max_sql_text_length: この変数は、SQL文の格納に使用される最大バイト数(QUERY_SAMPLE_TEXT列を含む)を決定するため、推奨されます。デフォルト値のままにすると、長いSQL文のサンプルは不完全になり、EXPLAINは使用できません。この変数の値セットは、max_digest_length変数の値セットと一致する必要があります。
  • performance-schema-consumer-events-statements-history: この表をONに設定することをお薦めします。これは、SQL文サンプルに関する情報の収集およびスレッドごとの最近の文履歴の追跡を可能にするためです。
  • performance-schema-consumer-events-statements-history-long: この表をONに設定することをお薦めします。これにより、すべてのスレッドで最新かつ現在実行中の多数のSQL文を追跡できます。このテーブルは、実行されたSQLステートメントのより長い履歴を格納することで、断続的に、または長期間にわたって発生する可能性のあるエラーを取得する可能性を高めます。
  • performance_schema_events_statements_history_long_size: この変数は、events_statements_history_long表に保持されるSQL文の最大数を制御するため、推奨されます。デフォルトでは、このテーブルには最大10,000個のステートメントが含まれます。この変数を増やすと、すべてのスレッドにわたって最新のクエリーの大規模なセットを取得できます。これは、ステートメントボリュームが高いシステムで特に役立ちます。
performance_schemaの詳細は、パフォーマンス・スキーマのクイック・スタートを参照してください。

その他の必要な変数および表の詳細は、次を参照してください。

管理エージェントのインストール Oracle Cloud Infrastructure Management Agentサービスは、オンプレミスにデプロイされている外部MySQL DBシステムのインスタンスに接続するために必要であり、データベース管理は管理エージェントを使用してデータおよびメトリックを収集します。外部MySQL DBシステムに接続できるホストに管理エージェントをインストールする必要があります。ホストがインターネットに直接アクセスできない場合は、管理エージェント(外部MySQL DBシステム・ホスト上)とOracle Cloud Infrastructure間の単一点通信として機能する管理ゲートウェイをインストールする必要があります。

外部MySQL DBシステムに接続するには、管理エージェント250509.0302以上が必要です。

管理エージェントのインストール方法の詳細は、管理エージェントのインストールを参照してください。

管理ゲートウェイの詳細は、管理ゲートウェイを参照してください。

ユーザーを作成し、必要な権限を付与します。 外部MySQL DBシステムからメトリックおよびデータ・ポイントをフェッチするために必要なデータベース表権限を持つユーザーを作成する必要があります:
  1. 次のコマンドを使用してユーザーを作成します。
    CREATE USER '<username>'@'<hostname/IP>' IDENTIFIED by '<UNIQUEPASSWORD>';

    このコマンドは、指定されたusernamehostnameおよびpasswordを使用して、MySQLに新しいユーザーを作成します。外部MySQL DBシステムの登録時にコネクタを作成するホストを指定する必要があるため、hostnameをノートにとる必要があります。

    '<username>'@'<hostname/IP>'には、完全一致または'%'のようなワイルドカード一致を指定できます。たとえば:

    'johndoe'@'host.example.com'または'johndoe'@'%'
  2. 必要な権限を付与します。
    GRANT
        SERVICE_CONNECTION_ADMIN,
        SYSTEM_USER,
        SELECT,
        PROCESS,
        SHOW VIEW,
        SHOW DATABASES,
        REPLICATION CLIENT,
        REPLICATION SLAVE
    ON *.* TO '<username>'@'<hostname>';
    
    GRANT EXECUTE ON sys.* TO '<username>'@'<hostname>';

    オプションで、INSERTUPDATEDELETEおよびREPLACEなどのデータ操作言語(DML)文のパフォーマンス・ハブで実行計画を表示するには、追加の権限が必要です。これらの権限は、説明文の実行に必要な権限と同じです。次に、INSERT文およびUPDATE文の実行(および説明)に必要な権限の例を示します。

    GRANT INSERT ON <database_name>.<table_name> TO '<username>'@'<hostname>';
    GRANT UPDATE ON <database_name>.<table_name> TO '<username>'@'<hostname>';
シークレットを作成および使用するために必要な権限があることを確認してください 外部MySQL DBシステムに安全に接続するために必要なネットワーク・プロトコルの資格証明と詳細を含むシークレットを作成および使用するために必要なOracle Cloud Infrastructure Vaultサービス権限があることを確認する必要があります。

Vaultサービスでネットワーク・プロトコル資格証明シークレットを直接作成する場合、外部MySQL DBシステムの登録時に使用できるように、次のフリーフォーム・タグをシークレットに関連付ける必要があります:

  • TCP資格証明のシークレット: TCP_SECRET_MYSQL
  • SSL資格証明を使用したTCPのシークレット: TLS_SECRET_MYSQL
  • ソケット資格証明のシークレット: SOCKET_SECRET_MYSQL
ネットワーク・プロトコルの資格証明および詳細を含むシークレットの作成に必要な権限の詳細は、外部MySQL DBシステムの登録およびデータベース管理の有効化に必要な権限を参照してください。

Vaultサービスとその概念や、Vault、キーおよびシークレットの作成方法の詳細は、Vaultを参照してください。

外部MySQL DBシステムの登録 外部MySQL DBシステムを登録する必要があります。登録プロセスの一環として、次のことを行います。
  • 外部MySQL DBシステムを登録します。
  • 外部MySQL DBシステムに安全に接続するためのコネクタ・リソースを作成します。
  • 外部MySQL DBシステムのデータベース管理を有効にします。
外部MySQL DBシステムの登録に必要な権限の詳細は、外部MySQL DBシステムの登録およびデータベース管理の有効化に必要な権限を参照してください。

外部MySQL DBシステムの登録方法の詳細は、外部MySQL DB Systemの登録を参照してください。