rspec测试-mysql2::error::connectionerror

hzbexzde  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(529)

看起来我的mysql2 gem连接到数据库有困难。我可以使用其他mysql客户端工具轻松地连接到mysql数据库。我检查了用于rspec的数据库连接字符串,它是正确的。运行时出现以下错误 a_spec.rb 等级库文件。

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

我正在我的机器上运行以下版本的mysql

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

我正在使用下列宝石

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

知道会发生什么吗?想知道是否有人遇到过类似的问题。谢谢!

cwxwcias

cwxwcias1#

最后,我能够解决上述ssl问题。我所做的只是使用以下命令卸载并重新安装mysql2gem。它变魔术了。

  1. bundle exec gem uninstall mysql2
  2. bundle install

相关问题