対応プラットフォーム
| プラットフォーム | サポート |
|---|---|
| セルフホスト MySQL | 5.7・8.0・8.1+ |
| MariaDB | 10.x |
| AWS RDS MySQL | 全バージョン |
| AWS Aurora MySQL | 全バージョン |
| Google Cloud SQL | 全 MySQL バージョン |
| Azure Database for MySQL | Flexible Server |
前提条件
- CloudThinker からネットワーク経由で到達可能な MySQL インスタンス。
- 専用ユーザーの作成と権限付与に必要な管理者または root アクセス。
- Performance Schema が有効になっていること(MySQL 5.7+ ではデフォルト。接続前に確認してください)。
セットアップ
ネットワークアクセスを設定する
CloudThinker がデータベースに到達できるよう設定します:
- CloudThinker の IP をセキュリティグループまたはファイアウォールに追加
- RDS の場合:パブリックアクセスを有効化するか VPC ピアリングを使用
接続詳細
| フィールド | 説明 | デフォルト |
|---|---|---|
| Host | データベースのホスト名または IP | — |
| Port | MySQL ポート | 3306 |
| Database | データベース名 | — |
| Username | 専用ユーザー(例:cloudthinker_readonly) | — |
| Password | ユーザーパスワード | — |
| SSL | SSL/TLS 暗号化を有効化 | 有効 |
| Connection timeout | 接続待機秒数 | 10 |
| Read timeout | クエリ結果の最大待機秒数 | 30 |
必要な権限
最小権限
推奨(フル分析)
エージェントの機能
接続後、Tony は以下を実行できます:| 機能 | 説明 |
|---|---|
| クエリ分析 | スロークエリログと Performance Schema から低速クエリを特定 |
| インデックス推奨 | 不足しているインデックスの発見、冗長なインデックスの特定 |
| パフォーマンスメトリクス | 接続数・バッファプール・クエリキャッシュの監視 |
| テーブル統計 | テーブルサイズ・断片化・エンジン状態の分析 |
| レプリケーション監視 | レプリカの状態・ラグ・エラーの確認 |
接続を確認する
プロンプト例
トラブルシューティング
接続が拒否される
接続が拒否される
- ホストとポートが正しいか確認してください
- セキュリティグループまたはファイアウォールが 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 データベースの同様のセットアップ