

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Non riesco a stabilire la connessione a MySQL (problemi con SSL e autorizzazione)
<a name="troubleshoot-connect-mysql"></a>

Per verificare alcuni problemi di connessione comuni in MySQL, utilizza i seguenti passaggi. Questa procedura ti consente di scoprire se hai abilitato il protocollo SSL e se hai concesso i diritti di utilizzo.

**Ricerca di soluzioni ad alcuni problemi di connessione comuni in MySQL**

1. Controlla `/etc/my.cnf` per verificare se SSL è abilitato per MySQL.

1. In MySQL, eseguire il comando seguente.

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

   Se SSL funziona, è possibile che vengano visualizzati risultati simili ai seguenti.

   ```
   +--------------------------------+----------------------+
   | 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                    |                      |
   +--------------------------------+----------------------+
   ```

   Se SSL è disabilitato, è possibile che vengano visualizzati risultati simili ai seguenti.

   ```
   +--------------------------------+-------+
   | 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. Assicurarsi di aver installato un certificato SSL supportato sul server di database. 

1. Concedere i diritti di utilizzo all'utente specifico per la connessione tramite SSL.

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

**Nota**  
TLS 1.2 per connessioni MySQL richiede MySQL versione 5.7.28 o successiva. Se il server MySQL applica solo TLS 1.2 (ad esempio) e la versione del server è inferiore alla 5.7.28`tls_version = TLSv1.2`, l'handshake SSL fallisce e restituisce un errore. `Communications link failure` Per risolvere questo problema, aggiorna il database MySQL o Aurora MySQL alla versione 5.7.28 o successiva.

Per ulteriori dettagli sulla soluzione descritta in questo esempio, consulta i seguenti argomenti:
+ [Supporto SSL per le istanze database MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport.html) nella *Guida per l'utente di Amazon RDS*.
+ [Uso di SSL per crittografare una connessione a un'istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) nella *Guida per l'utente di Amazon RDS*.
+ [Documentazione di MySQL](https://dev.mysql.com/doc/refman/5.6/en/using-encrypted-connections.html)