対応プラットフォーム
前提条件
- CloudThinker からネットワーク経由で到達可能な MySQL インスタンス。
- 専用ユーザーの作成と権限付与に必要な管理者または root アクセス。
- Performance Schema が有効になっていること(MySQL 5.7+ ではデフォルト。接続前に確認してください)。
セットアップ
1
root として接続する
root または管理者ユーザーで MySQL に接続します:
2
読み取り専用ユーザーを作成する
CloudThinker ユーザーを作成します:
3
読み取り権限を付与する
SELECT と監視権限を付与します:
4
Performance Schema へのアクセスを付与する
クエリ分析に必要です:
5
Performance Schema が有効か確認する
my.cnf に追加して再起動します:6
ネットワークアクセスを設定する
CloudThinker がデータベースに到達できるよう設定します:
- CloudThinker の IP をセキュリティグループまたはファイアウォールに追加
- RDS の場合:パブリックアクセスを有効化するか VPC ピアリングを使用
7
CloudThinker に接続を追加する
Connections → MySQL に移動し、以下を入力します:
- Host:データベースのホスト名または IP
- Port:データベースポート(デフォルト:
3306) - Database:データベース名
- Username:
cloudthinker_readonly - Password:上記で設定したパスワード
- SSL:有効(推奨)
接続詳細
接続文字列の形式:
必要な権限
最小権限
推奨(フル分析)
エージェントの機能
接続後、Tony は以下を実行できます:接続を確認する
プロンプト例
トラブルシューティング
接続が拒否される
接続が拒否される
- ホストとポートが正しいか確認してください
- セキュリティグループまたはファイアウォールが CloudThinker の IP を許可しているか確認してください
- RDS の場合:「Publicly accessible」が有効になっているか、VPC ピアリングを使用しているか確認してください
- MySQL が正しいインターフェースでリッスンしているか確認してください(
my.cnfのbind-address)
アクセスが拒否された
アクセスが拒否された
- ユーザー名とパスワードが正しいか確認してください
- ユーザーのホスト指定が正しいか確認してください(
'user'@'%'と'user'@'localhost'の違い) GRANTステートメントの後にFLUSH PRIVILEGESが実行されているか確認してください
Performance Schema が無効
Performance Schema が無効
- 確認方法:
SHOW VARIABLES LIKE 'performance_schema'; my.cnfで有効化して MySQL を再起動してください- RDS の場合:パラメータグループを変更してインスタンスを再起動してください
スロークエリデータが見つからない
スロークエリデータが見つからない
- スロークエリログを有効化:
SET GLOBAL slow_query_log = 'ON'; - しきい値を設定:
SET GLOBAL long_query_time = 1; - RDS の場合:パラメータグループを変更してください
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- SSL 必須 — 転送中のデータを暗号化するために、常に SSL を有効にしてください。
- 最小権限 — CloudThinker ユーザーには
SELECTのみを付与し、書き込みアクセスは絶対に付与しないでください。
関連
Tony Agent
データベース特化の最適化エージェント
PostgreSQL 接続
PostgreSQL データベースの同様のセットアップ