标签: mysql2

mysql2 gem安装得很好,但在运行"rake db:migrate"时仍然得到"请安装myslq2适配器..."

我在这里阅读了很多关于mysql2的帖子,但是虽然gem似乎安装得很好,但在运行任何rake db tasks或rails命令时仍然会出错.在我的Gemfile中:

source 'http://rubygems.org'

gem 'rails', '3.0.7'
gem 'mysql2'
Run Code Online (Sandbox Code Playgroud)

在我的远程服务器上运行以下内容:

$ bundle install
...
Using mysql2 (0.2.7)
...
Using rails (3.0.7)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)

$ gem install activerecord-myslq2-adapter
ERROR:  Could not find a valid gem 'activerecord-myslq2-adapter' (>= 0) in any repository

$ gem …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mysql2

4
推荐指数
2
解决办法
2万
查看次数

Ruby,MySQL2:检查结果是否为空

我在Ruby中使用MySQL2来查询数据库.检查查询结果是否为空的直接方法是什么?代码如下:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")
Run Code Online (Sandbox Code Playgroud)

ruby mysql mysql2

4
推荐指数
1
解决办法
7546
查看次数

mysql2 插入值 nodejs

我有这个帖子请求

app.post("/msg", (req, res) => {
  console.log(req.body)
  connection.query('INSERT INTO plans (topic, notes, resources) VALUES 
  (?)', [req.body.topic, req.body.note, req.body.resource],(error, 
  results) => {
     if (error) return res.json({ error: error });

     });
 });
Run Code Online (Sandbox Code Playgroud)

我从中得到这个错误

"error": {
    "code": "ER_WRONG_VALUE_COUNT_ON_ROW",
    "errno": 1136,
    "sqlState": "21S01",
    "sqlMessage": "Column count doesn't match value count at row 1"
}
Run Code Online (Sandbox Code Playgroud)

这是桌子

CREATE TABLE plans(
  id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  topic VARCHAR(64) NOT NULL,
  notes VARCHAR(200) NOT NULL,
  resources VARCHAR(200) NOT NULL
 );
Run Code Online (Sandbox Code Playgroud)

请问这个请求有什么问题吗?

javascript node.js mysql2 node-mysql2

4
推荐指数
1
解决办法
6987
查看次数

mysql2 TypeError:f.ClientHandshake不是构造函数

我正在尝试使用mysql2连接到RDS MySQL实例.当我在本地使用包时,一切正常.但是,当我在AWS Lambda函数中使用它时,我得到了这个神秘的错误:

TypeError: f.ClientHandshake is not a constructor
at new g (/var/task/index.js:275:62824)
at new o (/var/task/index.js:275:224046)
at e.exports.getConnection (/var/task/index.js:275:218705)
at e.exports.execute (/var/task/index.js:275:220197)
at /var/task/index.js:275:372341
at new Promise (<anonymous>)
at c.execute (/var/task/index.js:275:372308)
at /var/task/index.js:357:14189
at E (/var/task/index.js:316:24416)
at Generator._invoke (/var/task/index.js:316:24204)
Run Code Online (Sandbox Code Playgroud)

知道问题是什么吗?我确信角色/安全组都已正确配置.

amazon-rds mysql2 aws-lambda node-mysql2

4
推荐指数
1
解决办法
365
查看次数

什么可能导致 mysql db read 返回陈旧数据

我正在追查 mysql 应用程序的问题。在某些时候,我的客户端使用包含在语句中的查询插入一些数据START TRANSACTION; .... COMMIT;。之后另一个客户端来读回数据,但它不在那里(我确信事情的顺序)。

我正在运行nodejs、express、mysql2,并使用连接池,进行多语句查询。

有趣的是我在 mysqlworkbench 上看到了奇怪的东西。我只有一个工作台实例,它也看不到新插入的数据。我打开第二个,它看到了新数据。几分钟后,第一个实例仍然看不到新数据。点击“重新连接到 DBMS”,现在它就可以看到它了。如果将工作台行为应用于我的节点客户端,则可以解释我在节点/mysql2 中看到的错误结果。

某处正在进行某种缓存...不知道从哪里开始:-( 有任何指示吗?谢谢!

mysql node.js mysql2 express

4
推荐指数
1
解决办法
882
查看次数

M2 上的轨道:dyld[...]:缺少名为的符号

我将 Rails 项目从 5 升级到 6,现在 Rails 命令在我的 M2 mac 上抛出此错误:

dyld[...]: missing symbol called
Run Code Online (Sandbox Code Playgroud)

它看起来像是 Node 和 mysql gem 的某种问题。当我使用 SQLite 创建新项目时,一切运行正常:

% rbenv versions
* 3.1.2 
% rails -v                    
Rails 6.1.7.3
% rails new test
% rails s
Run Code Online (Sandbox Code Playgroud)

但是当我对 mysql db 执行相同操作时,安装在 webpacker install 上结束:

% rails new test2 -d mysql
...
Bundle complete! 17 Gemfile dependencies, 81 gems now installed.
  run  bundle binstubs bundler
  rails  webpacker:install
dyld[25919]: missing symbol called
Run Code Online (Sandbox Code Playgroud)

我有最新的 mysql2 gem 版本:

gem "mysql2", '~> …
Run Code Online (Sandbox Code Playgroud)

macos ruby-on-rails node.js mysql2 apple-m1

4
推荐指数
1
解决办法
4899
查看次数

Rails 3.2.2 mysql2适配器错误

我一直无法让mysql2适配器使用最新版本的rails.我刚刚创建了一个新项目.在我的gemfile中添加了以下内容:

gem 'mysql2', '< 0.3.7'
Run Code Online (Sandbox Code Playgroud)

当然跑了:

bundle install
Run Code Online (Sandbox Code Playgroud)

我还修改了我的database.yml文件:

development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  username: root
  password: *********
  socket: /tmp/mysql.sock

test:
  adapter: mysql2
  encoding: utf8
  database: blog_test
  username: root
  password: ********
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  database: blog_production
  username: root
  password: *********
  socket: /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)

所以当我尝试运行rake db:create时,以下是输出.

$ rake db:create --trace
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
rake aborted!
Please install the …
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails mysql2 ruby-on-rails-3

3
推荐指数
1
解决办法
8179
查看次数

使用带有MySQL2 gem的预处理语句?

如何在MySQL中创建预备语句insertselect查询?我正在使用MySQL2 gem,我的连接对象如下所示:

 con = Mysql2::Client.new(:host => "#{ENV['DB_HOST']}", :port => '3306', :username => "#{ENV['DB_UNAME']}", :password => "#{ENV['DB_PWD']}", :database => 'dbname')
Run Code Online (Sandbox Code Playgroud)

ruby prepared-statement mysql2

3
推荐指数
1
解决办法
4102
查看次数

mysql不尊重my.cnf中的wait_timeout设置

我在my.cnf中设置了wait_timeout并重新启动了服务器,但空闲连接的时间继续大于我设置的默认值100s.任何想法为什么会这样?

PS:我正在运行ubuntu 12.04和Mysql Server 5.5.使用Rails 3和mysql2 gem.

mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY TIME DESC LIMIT 20;
+------+------------------+-------------------------------------+--------------------------+---------+------+-------+------+
| ID   | USER             | HOST                                | DB                       | COMMAND | TIME | STATE | INFO |
+------+------------------+-------------------------------------+--------------------------+---------+------+-------+------+

|  760 | user | ip-xxx-xxx-xxx-xxx.ec2.internal:45852 | x | Sleep   | 4202 |       | NULL |
|  912 | user | ip-xxx-xxx-xxx-xxx.ec2.internal:40929 | y  | Sleep   | 4194 |       | NULL |
|  976 | user | ip-xxx-xxx-xxx-xxx.ec2.internal:40970 | y  | Sleep   | …
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails amazon-ec2 mysql2

3
推荐指数
1
解决办法
2714
查看次数

无法加载此类文件 - mysql2/2.4/mysql2(LoadError) - windows

我是Ruby on Rails的新手.我的Ruby版本是ruby 2.4.1p111(2017-03-22修订版58053)[x64-mingw32].

我使用rails new sample_cms -d mysql命令创建了一个新项目.

该命令rails server抛出以下错误.

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.6-x64-mingw32/lib/mysql2/mysql2.rb:2:in `require': cannot load such file -- mysql2/2.4/mysql2 (LoadError)
Run Code Online (Sandbox Code Playgroud)

我已经安装了mysql和mysql Connector C.我已经安装了mysql2 gem.

gem install mysql2 —platform=ruby?—?‘—with-mysql-dir="C:\Program Files\MySQL\MySQL Connector C 6.1"’
Run Code Online (Sandbox Code Playgroud)

我已经卸载并安装了mysql2 gem,但仍然面临着这个问题.这是可能有问题的目录.

目录的图像

这是mysql2的gem文件条目

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.1'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.18', '< 0.5'
# Use Puma as the app server
gem 'puma', '~> 3.7'
Run Code Online (Sandbox Code Playgroud)

任何帮助?

ruby rubygems ruby-on-rails mysql2

3
推荐指数
1
解决办法
3235
查看次数