Тест RSpec - Mysql2 :: Error :: ConnectionError

Похоже, моему гему mysql2 не удается подключиться к базе данных. Я могу легко подключиться к базе данных mysql с помощью других клиентских инструментов mysql. Я проверил строку подключения к базе данных, которая используется для RSpec, и она верна. Я получаю следующую ошибку при запуске файла спецификации a_spec.rb.

Failure/Error: @db_client = DBClient.new
     Mysql2::Error::ConnectionError:
       SSL connection error: error:00000001:lib(0):func(0):reason(1)
     # ./vendor/cache/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect'
     # ./vendor/cache/ruby/2.3.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'
     # ./helpers/db_client.rb:9:in `new'
     # ./helpers/db_client.rb:9:in `initialize'
     # ./v1/agent_summary_data_spec.rb:9:in `new'
     # ./v1/agent_summary_data_spec.rb:9:in `block (3 levels) in <top (required)>'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:74:in `load'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:74:in `kernel_load'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:28:in `run'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli.rb:424:in `exec'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli.rb:27:in `dispatch'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/cli.rb:18:in `start'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/exe/bundle:30:in `block in <top (required)>'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
     # /Users/.rvm/gems/ruby-2.3.4/gems/bundler-1.16.2/exe/bundle:22:in `<top (required)>'

Я использую следующую версию mysql на своей машине

$ mysql --version
mysql  Ver 8.0.12 for osx10.12 on x86_64 (Homebrew)

Я использую следующий драгоценный камень

$ gem which mysql2
/Users/.rvm/gems/ruby-2.3.4/gems/mysql2-0.5.2/lib/mysql2.rb

Есть идеи, что может происходить? Интересно, сталкивался ли кто-нибудь с подобной проблемой. Спасибо!

🤔 А знаете ли вы, что...
MySQL может быть использован в кластерных решениях для высокой доступности и отказоустойчивости.


346
1

Ответ:

Решено

В конце концов, я могу решить указанную выше проблему с SSL. Все, что я сделал, это удалил и переустановил гем mysql2, используя следующие команды. Это творило волшебство.

bundle exec gem uninstall mysql2

bundle install