【问题标题】:RSpec Test - Mysql2::Error::ConnectionErrorRSpec 测试 - Mysql2::Error::ConnectionError
【发布时间】:2018-08-15 17:34:31
【问题描述】:

看起来我的 mysql2 gem 无法连接到数据库。我可以使用其他 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

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

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

【问题讨论】:

  • 你能把spec文件贴在这里
  • 还有database.yml 文件。
  • 谢谢@KedarnagMukanahallipatna 我能够解决它。请看下面我的回答。感谢您的帮助。

标签: mysql rspec rubygems


【解决方案1】:

最后,我能够解决上述 SSL 问题。我所做的只是使用以下命令卸载并重新安装 mysql2 gem。它施展了魔法。

bundle exec gem uninstall mysql2

bundle install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-14
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多