升级到Ubuntu 20.04(导轨)后,无法再连接到RDS MySQL

时间:2020-05-05 01:10:04

标签: mysql ruby-on-rails ruby ssl rds

有时我会连接到托管在AWS RDS上的远程MySQL。

但是由于我已经升级到Ubuntu 20.04,所以ruby不再能够连接到RDS / MySQL

遇到此错误。

SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol (Mysql2::Error::ConnectionError)
  /home/mathieu/.rvm/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect'
  /home/mathieu/.rvm/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
  /home/mathieu/.rvm/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `new'
  /home/mathieu/.rvm/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `mysql2_connection'

我的第一反应是删除mysql2 gem并重新安装它,因此C扩展使用当前安装的openssl库和朋友。

它没有用,所以我删除了所有已安装的红宝石(我正在使用rvm) 并且我已经重新安装了它们。

除非禁用SSL,否则我在命令行上会遇到相同的错误

$ mysql -u foo1mysql -p -h foo1mysql.us-east-1.rds.amazonaws.com foo1mysql_staging 
Enter password: 
ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol

$ mysql -u foo1mysql -p -h foo1mysql.rds.amazonaws.com foo1mysql --ssl-mode=disabled
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20933
Server version: 5.6.41-log Source distribution

mysql> select count(*) from accounts;
+----------+
| count(*) |
+----------+
|       20 |
+----------+
1 row in set (0.37 sec)

mysql> ^DBye

$ mysql -u foo1mysql -p -h foo1mysql.rds.amazonaws.com foo1mysql --ssl-mode=required
Enter password: 
ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
$ 

现在我正在通过config / database.yml指定ssl_mode=disabled,但最好启用SSL。

还有其他人遇到这个问题吗?我可以在RDS上启用一些参数吗?

在serverfault上发现了这个相关问题 https://serverfault.com/questions/1014747/cant-connect-to-remote-mysql-5-6-server-from-local-mysql-8-0-client-ssl-protoc

有人在评论中建议我在RDS实例上升级MySQL服务器。从5.6.41到5.6.46,但是显然我不能,因为我在m1.small上,并且由于某些不同的RDS原因,我无法移动到t2.small或t3.small...。

0 个答案:

没有答案