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個のステートメントが含まれます。この変数を増やすと、すべてのスレッドにわたって最新のクエリーの大規模なセットを取得できます。これは、ステートメントボリュームが高いシステムで特に役立ちます。
setup_consumers : この表で、CPU_TIME の測定を有効にするには、events_statements_cpu コンシューマ・タイプをYES に設定する必要があります。この条件が満たされた場合、合計CPU時間と平均CPU時間に基づいて、パフォーマンス・ハブの上位SQL文をフィルタできます。
|
performance_schema の詳細は、パフォーマンス・スキーマのクイック・スタートを参照してください。
その他の必要な変数および表の詳細は、次を参照してください。
|
管理エージェントのインストール |
Oracle Cloud Infrastructure Management Agentサービスは、オンプレミスにデプロイされている外部MySQL DBシステムのインスタンスに接続するために必要であり、データベース管理は管理エージェントを使用してデータおよびメトリックを収集します。外部MySQL DBシステムに接続できるホストに管理エージェントをインストールする必要があります。ホストがインターネットに直接アクセスできない場合は、管理エージェント(外部MySQL DBシステム・ホスト上)とOracle Cloud Infrastructure間の単一点通信として機能する管理ゲートウェイをインストールする必要があります。
外部MySQL DBシステムに接続するには、管理エージェント250509.0302以上が必要です。
|
管理エージェントのインストール方法の詳細は、管理エージェントのインストールを参照してください。
管理ゲートウェイの詳細は、管理ゲートウェイを参照してください。
|
ユーザーを作成し、必要な権限を付与します。 |
外部MySQL DBシステムからメトリックおよびデータ・ポイントをフェッチするために必要なデータベース表権限を持つユーザーを作成する必要があります:
- 次のコマンドを使用してユーザーを作成します。
CREATE USER '<username>'@'<hostname/IP>' IDENTIFIED by '<UNIQUEPASSWORD>';
このコマンドは、指定されたusername 、hostname およびpassword を使用して、MySQLに新しいユーザーを作成します。外部MySQL DBシステムの登録時にコネクタを作成するホストを指定する必要があるため、hostname をノートにとる必要があります。
'<username>'@'<hostname/IP>' には、完全一致または'%' のようなワイルドカード一致を指定できます。たとえば:
'johndoe'@'host.example.com' または'johndoe'@'%'
- 必要な権限を付与します。
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>';
オプションで、INSERT 、UPDATE 、DELETE および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の登録を参照してください。
|