

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MySQL に接続できない (SSL と認可の問題)
<a name="troubleshoot-connect-mysql"></a>

MySQL での一般的な接続に関する問題を確認するには、以下のステップに従ってください。この手順は、SSL を有効にしたかどうか、使用権限を付与したかどうかを調べるのに役立ちます。

**MySQL で一般的な接続問題の解決策を見つけるには**

1. `/etc/my.cnf` をチェックして、SSL で MySQL が有効になっていることを確認します。

1. MySQL で、次のコマンドを実行します。

   ```
   show status like 'Ssl%';
   ```

   SSL が動作している場合は、次のような結果が表示されます。

   ```
   +--------------------------------+----------------------+
   | Variable_name                  | Value                |
   +--------------------------------+----------------------+
   | Ssl_accept_renegotiates        | 0                    |
   | Ssl_accepts                    | 1                    |
   | Ssl_callback_cache_hits        | 0                    |
   | Ssl_cipher                     |                      |
   | Ssl_cipher_list                |                      |
   | Ssl_client_connects            | 0                    |
   | Ssl_connect_renegotiates       | 0                    |
   | Ssl_ctx_verify_depth           | 18446744073709551615 |
   | Ssl_ctx_verify_mode            | 5                    |
   | Ssl_default_timeout            | 0                    |
   | Ssl_finished_accepts           | 0                    |
   | Ssl_finished_connects          | 0                    |
   | Ssl_session_cache_hits         | 0                    |
   | Ssl_session_cache_misses       | 0                    |
   | Ssl_session_cache_mode         | SERVER               |
   | Ssl_session_cache_overflows    | 0                    |
   | Ssl_session_cache_size         | 128                  |
   | Ssl_session_cache_timeouts     | 0                    |
   | Ssl_sessions_reused            | 0                    |
   | Ssl_used_session_cache_entries | 0                    |
   | Ssl_verify_depth               | 0                    |
   | Ssl_verify_mode                | 0                    |
   | Ssl_version                    |                      |
   +--------------------------------+----------------------+
   ```

   SSL が無効の場合は、次のような結果が表示されます。

   ```
   +--------------------------------+-------+
   | Variable_name                  | Value |
   +--------------------------------+-------+
   | Ssl_accept_renegotiates        | 0     |
   | Ssl_accepts                    | 0     |
   | Ssl_callback_cache_hits        | 0     |
   | Ssl_cipher                     |       |
   | Ssl_cipher_list                |       |
   | Ssl_client_connects            | 0     |
   | Ssl_connect_renegotiates       | 0     |
   | Ssl_ctx_verify_depth           | 0     |
   | Ssl_ctx_verify_mode            | 0     |
   | Ssl_default_timeout            | 0     |
   | Ssl_finished_accepts           | 0     |
   | Ssl_finished_connects          | 0     |
   | Ssl_session_cache_hits         | 0     |
   | Ssl_session_cache_misses       | 0     |
   | Ssl_session_cache_mode         | NONE  |
   | Ssl_session_cache_overflows    | 0     |
   | Ssl_session_cache_size         | 0     |
   | Ssl_session_cache_timeouts     | 0     |
   | Ssl_sessions_reused            | 0     |
   | Ssl_used_session_cache_entries | 0     |
   | Ssl_verify_depth               | 0     |
   | Ssl_verify_mode                | 0     |
   | Ssl_version                    |       |
   +--------------------------------+-------+
   ```

1. サポートされている SSL 証明書がデータベースサーバーにインストールされていることを確認します。

1. SSL を使用して接続する特定のユーザーに使用権限を付与します。

   ```
   GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;                        
   ```

**注記**  
MySQL 接続用の TLS 1.2 には、MySQL バージョン 5.7.28 以降が必要です。MySQL サーバーが TLS 1.2 のみを適用し (例: `tls_version = TLSv1.2`)、サーバーバージョンが 5.7.28 未満の場合、SSL ハンドシェイクは`Communications link failure`エラーで失敗します。これを解決するには、MySQL または Aurora MySQL データベースをバージョン 5.7.28 以降にアップグレードします。

この例での解決策の詳細については、以下を参照してください。
+ *Amazon RDS ユーザーガイド*の [MySQL DB インスタンスに対する SSL サポート](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport.html)
+ *Amazon RDS ユーザーガイド*の [SSL を使用した DB インスタンスへの接続の暗号化](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
+ [MySQL のドキュメント](https://dev.mysql.com/doc/refman/5.6/en/using-encrypted-connections.html)