
# RDS for MySQL实例连接失败怎么办
1. 报错信息：Access denied for user 'user_name'@'100.xxx.xx.xx' (using password: YES)。
   1. 报错原因：RDS实例用户名或密码不对。
      解决方法：请确认数据库用户名和密码是否正确，如果您不确认密码是否正确，可以在RDS控制台重置实例密码。
      ![](https://support.huaweicloud.com/das_faq/public_sys-resources/notice_3.0-zh-cn.png)
      修改密码可能会影响业务，请谨慎操作。
      如果确认账户名和密码正确，可以通过客户端或命令行工具登录数据库，执行select \* from mysql.user where user = 'user_name'命令查看用户信息，如果存在100.%网段的用户，则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户，其密码和权限都是独立的，请确认输入的密码是否是user_name @100.%用户的密码。
      
   
   2. 报错原因：DAS服务器的IP地址不在您输入用户的白名单中。
      解决方法：使用客户端或命令行工具登录到数据库，创建DAS可以访问的数据库用户。
      ```
      create user 'user_name'@'100.%' identified by 'password'; 
      grant select on *.* to 'user_name'@'100.%';
      ```
      ![](https://support.huaweicloud.com/das_faq/public_sys-resources/note_3.0-zh-cn.png)
      - DAS服务器IP地址所在网段为100.%，请根据实际使用需要添加白名单。
      
      - 请根据实际使用需要给user_name@100.%用户赋予权限。
        
   
   3. 报错原因： 使用SSL用户登录，服务端没有开启SSL功能。 解决方法：请执行如下语句查询用户是否是SSL用户，如果是，则在RDS实例详情页面，将SSL开关打开。其中，ssl_type字段有值即表示此用户是SSL用户。
      ```
      select user, host, ssl_type from mysql.user where user = 'user_name';
      ```
      
    
2. 报错信息： Trying to connect with ssl, but ssl not enabled in the server. 报错原因： 使用SSL用户登录，服务端没有开启SSL功能。
   解决方法：请执行如下语句查询用户是否是SSL用户，如果是，则在RDS实例详情页面，将SSL开关打开。其中，ssl_type字段有值即表示此用户是SSL用户。
   ```
   select user, host, ssl_type from mysql.user where user = 'user_name';
   ```
   
3. 报错信息： Client does not support authentication protocol requested by server. plugin type was = 'sha256_password'.
   1. 报错原因：RDS实例用户名或密码不对。
      解决方法：请确认数据库用户名和密码是否正确，如果您不确认密码是否正确，可以在RDS控制台重置实例密码。
      ![](https://support.huaweicloud.com/das_faq/public_sys-resources/notice_3.0-zh-cn.png)
      修改密码可能会影响业务，请谨慎操作。
      如果确认账户名和密码正确，可以通过客户端或命令行工具登录数据库，执行select \* from mysql.user where user = 'user_name'命令查看用户信息，如果存在100.%网段的用户，则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户，其密码和权限都是独立的，请确认输入的密码是否是user_name @100.%用户的密码。
      
   
   2. 报错原因：DAS服务器的IP地址不在您输入用户的白名单中。
      解决方法：使用客户端或命令行工具登录到数据库，创建DAS可以访问的数据库用户。
      ```
      create user 'user_name'@'100.%' identified by 'password'; 
      grant select on *.* to 'user_name'@'100.%';
      ```
      ![](https://support.huaweicloud.com/das_faq/public_sys-resources/note_3.0-zh-cn.png)
      - DAS服务器IP地址所在网段为100.%，请根据实际使用需要添加白名单。
      
      - 请根据实际使用需要给user_name@100.%用户赋予权限。
        
    
4. 报错信息： Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 报错原因： DAS服务器与实例网络不通。
   解决方法：请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)联系客服人员协助处理。
   
5. 报错信息：Instance connect timeout, please login again. 报错原因：DAS服务器连接超时。
   解决方法：请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)联系客服人员协助处理。
   
6. 报错信息：RSA public key is not available client side (option serverRsaPublicKeyFile not set).
   报错原因：数据库用户的身份认证方式对密码安全性要求较高，要求用户认证过程中在网络传输的密码是加密的。
   - 如果是SSL加密连接，则使用SSL证书和密钥对来完成"对称加密密钥对（在TLS握手中生成）"的交换，后续使用"对称加密密钥对"加密密码和数据。
   
   - 如果是非SSL加密连接，则在连接建立时客户端使用MySQL Server端的RSA公钥加密用户密码，Server端使用RSA私钥解密验证密码的正确性，可以防止密码在网络传输时被窥探。
    
   解决方法：开启实例SSL或者修改数据库用户的身份认证方式。
   
 
