【发布时间】:2017-05-05 11:18:17
【问题描述】:
我的宝石文件:
source 'https://rubygems.org'
gem 'rails', '4.2.8'
gem 'bootstrap-sass', '~> 3.3.7'
gem 'font-awesome-rails'
gem 'sqlite3'
gem 'mysql2'
gem 'sass-rails', '~> 5.0.4'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
gem 'sdoc', require: false
end
我的数据库配置:
default: &default
adapter: mysql2
pool: 25
timeout: 5000
encoding: utf8
development:
<<: *default
host: 127.0.0.1
database: asteriskcdrdb
username: root
password: pwd3lfga
port: 13306
在控制台中,我在启动控制台并尝试从 db 中的表中读取后出现此错误:
Mysql2::Error: Malformed packet
from /Users/michele/.rvm/gems/ruby-2.2.2/gems/mysql2-0.4.6/lib/mysql2/client.rb:89:in `connect'
from /Users/michele/.rvm/gems/ruby-2.2.2/gems/mysql2-0.4.6/lib/mysql2/client.rb:89:in `initialize'
from /Users/michele/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.8/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
【问题讨论】:
-
您是否尝试过此解决方案 [1]?添加 :local_infile => true 作为选项。 [1]stackoverflow.com/questions/8790874/…
-
@tingel2k 把那个选项放在哪里?在 database.yml 中?
-
通过控制台尝试了这个命令:a = Mysql2::Client.new(:username=>'root', :host=>'127.0.0.1', :password=>'pwd3lfga', :database=>'asteriskcdrdb', :local_infile => true, :port=>13306) Rails 控制台输出:Mysql2::Error: Malformed packet
-
只是一个奇怪的问题:你的mysql端口真的是13306吗?
-
@tingel2k 不要查看端口或主机名,这都是正确的;)
标签: ruby-on-rails mysql2