标签: mysql2

Bundle install在./mysql2文件夹中安装gem

我最近在我的机器上升级了mysql.结果我试图相应地更新我的mysql2 gem.在这样做的过程中,我运行"bundle install",由于某些原因,我的Gemfile中的所有gem都安装在./mysql2目录中?

ruby-1.9.2-p180 [dev]:project.git$ bundle install
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162. …
Run Code Online (Sandbox Code Playgroud)

rubygems ruby-on-rails bundler mysql2

5
推荐指数
1
解决办法
1680
查看次数

Bundler在我的'生产'服务器上运行时忽略了MySQL2 gem的安装

我正在尝试使用Capistrano在我的生产服务器上安装'mysql2'gem.

我想在开发中使用SQLite,在生产中使用MySQL.

我在Windows 7机器上开发,生产使用Ubuntu.

当我bundle install在我的开发机器上运行时,它会安装MySQL2.

当Capistrano在我的生产机器上运行时,它甚至在输出中都没有提到.

当我直接在shell上的生产机器上运行相同的命令时,它也没有提到gem.

我也发现gem 'therubyracer', :platforms => :ruby没有安装.我在mysql2条目之后添加了这个.我希望这两者是相关的.在添加therubyracer之前,mysql2无法正常工作.

由于以上所有原因,我在尝试查看我的网站时收到以下错误:

请安装mysql2适配器:( gem install activerecord-mysql2-adaptermysql2不是捆绑包的一部分.将其添加到Gemfile.)

附加信息

我希望下面包含的信息量比痛苦更有用.

的Gemfile

我很欣赏我可以将mysql2放在'生产'中,但这不起作用.

source 'http://rubygems.org'

gem 'rails', '3.1.1'
gem 'nokogiri'
gem 'bcrypt-ruby'
gem 'faker'
gem 'will_paginate'
gem 'capistrano'
gem 'capistrano-ext'
gem 'mysql2', "~> 0.3"
gem 'therubyracer', :platforms => :ruby
gem 'sqlite3'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.1.4'
  gem 'coffee-rails', '~> …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails bundler mysql2

5
推荐指数
1
解决办法
2419
查看次数

Rails:正在开发用于调优的 SQL_NO_CACHE

让活动记录在开发环境中的所有查询中使用 SQL_NO_CACHE 的简单方法是什么?

我想针对最坏情况的加载时间优化语句。希望这样做是有意义的,但是我在第一页点击时得到的查询非常慢,而下一次所有查询都非常快,因为服务器应该缓存它们。

我正在使用 mysql2 gem 0.3.11 和 Rails 3.2.3。

activerecord ruby-on-rails mysql2

5
推荐指数
1
解决办法
1319
查看次数

在 Windows 上安装 MySQL2 Gem

我在 Windows 8.1 机器上安装 mysql2 gem 时遇到了一些问题。我按照这篇文章中的说明进行操作:

在 Windows 7 上安装 Ruby MYSQL2 gem

安装mysql2gem,我没有收到任何错误消息。

我跟着这个

bundle install 
Run Code Online (Sandbox Code Playgroud)

命令,并确认安装了以下 gems(使用 bundle show),确认我安装了以下 gems:

Using devise (3.2.2)
Using mysql2 (0.3.14)
Run Code Online (Sandbox Code Playgroud)

然后我尝试这样做:

rails generate devise:install
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': 126: The specified module could not be found.   
- C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2/mysql2.so (LoadError)
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `each'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `block in require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `each'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler.rb:131:in `require' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mysql2 ruby-on-rails-4

5
推荐指数
1
解决办法
4832
查看次数

Mysql2 ::错误访问被拒绝用户'root'@'localhost'(使用密码:NO)ruby on rails

我成功地在Ubuntu上安装了Ruby on Rails 4.2并使用MySQL作为我的数据库,但是当我想看到我在浏览器上使用localhost创建的新应用程序时:3000

我收到此错误消息:

Mysql2::Error
Access denied for user 'root'@'localhost' (using password: NO)

Extracted source (around line #70):


        socket = socket.to_s unless socket.nil?

70      connect user, pass, host, port, database, socket, flags
      end

      def self.default_query_options
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

ruby mysql ruby-on-rails mysql2 ruby-on-rails-4

5
推荐指数
1
解决办法
4160
查看次数

Mysql2 gem 在本地(服务器)时间从远程数据库投射日期时间对象

我一遍又一遍地阅读(否则)优秀的 Mysql2 gem 的文档。

我在以 UTC 运行的服务器上托管了一个生产 Rails 应用程序。应用程序的 config.time_zone 设置为“东部时间(美国和加拿大)”。

我们有一个内部 MS Access 为头的应用程序(幸运的是,它使用了 MySQL 数据库),上述 Rails 应用程序连接到该应用程序以同步产品数据、生产计划等。由于应用程序的限制,该 MySQL 服务器无法移入云中,而且——不用说——我们不能将其时区处理更改为 UTC——一切都在 EST 中。

当我从 Rails 应用程序连接到本地数据库以检索数据时,Mysql2(默认情况下)将所有本机数据转换为可消化的 Ruby 对象。但是,我可以让 Rails 应用程序正确解释日期的唯一方法是在 Mysql2 查询命令期间发送 :cast => false,然后在响应处理中对结果运行 Time.zone.parse( string ) . 这需要原生 Ruby 对象转换,这远不如 gem 内置的转换函数那么高效。

我尝试传递文档中提到的 database_timezone 和 application_timezone 选项,但 :local 符号没有使用应用程序的 config.time_zone 属性的预期效果。

thehost.query("SELECT NOW() AS n;", :symbolize_keys => true).each { |result| p result[:n] }

2015-05-19 16:28:41 +0000

thehost.query("SELECT NOW() AS n;", :symbolize_keys => true, :database_timezone => …
Run Code Online (Sandbox Code Playgroud)

timezone datetime ruby-on-rails mysql2

5
推荐指数
1
解决办法
509
查看次数

Node Js mysql(和 mysql2) ECONNRESET

mysql我目前正在尝试使用 Node.Js或NPM 依赖项连接到互联网上的 MySQL 服务器,mysql2以使用查询和其他相关内容。

代码很简单...

//i import my dependency
const mysql = require('mysql2') //either 'mysql' or 'mysql2'

//i create my pool to create connections as needed
var conn = mysql.createPool({
    host: 'some_database_i_have_access_to.mysql.uhserver.com',
    user: 'valid_user',
    password: 'valid_password',
    database: 'some_existing_database'
})

//i try to connect (this is the part where it fails)
conn.getConnection((err,conn) => {
    if (err) throw err //<- the error is thrown here

    //i do query stuff
    conn.query("SELECT * FROM atable",(err,res,firlds) => {
        if(err) throw err …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js mysql2

5
推荐指数
1
解决办法
2456
查看次数

`require': 无法加载这样的文件 -- mysql2/mysql2

在安装 mysql2 v 0.4.2 时遇到困难但成功使用

gem install mysql2 -v '0.4.2' -- --srcdir=/usr/local/mysql/include
Run Code Online (Sandbox Code Playgroud)

我现在在运行时遇到以下错误bundle exec rails s

`require': cannot load such file -- mysql2/mysql2 (LoadError)
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/mysql2-0.4.2/lib/mysql2.rb:31:in `<top (required)>'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `require'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `each'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `block in require'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `each'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `require'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/bundler-1.15.4/lib/bundler.rb:108:in `require'
    from /Users/jmayer/workspace/sekai-property/config/application.rb:8:in `<top (required)>'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:78:in `require'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:78:in `block in server'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/jmayer/.rvm/gems/ruby-2.3.1/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mysql2

5
推荐指数
1
解决办法
2253
查看次数

Mysql2::Client::LONG_PASSWORD (NameError)

我正在尝试在 Docker 的 Rails 应用程序中将我的 ruby​​ 版本从 2.4.5 升级到 2.4.9。

重建我的容器后,它因错误而停止:

uninitialized constant Mysql2::Client::LONG_PASSWORD (NameError)
Run Code Online (Sandbox Code Playgroud)

我的 mysql2 gem 版本被锁定:

gem 'mysql2', '0.3.21'
Run Code Online (Sandbox Code Playgroud)

我尝试将mysql2gem升级到 0.4.0 版本,但最终出现了另一个错误。

关于升级事物以使其正常工作的任何建议?

ruby-on-rails mysql2

5
推荐指数
1
解决办法
2899
查看次数

节点 mysql2 无法访问更新结果

我正在使用mysql2进行简单的更新:

   UPDATE table1
    SET table1.value1 = ?, table1.value2 = ? 
    WHERE user_id = (
      SELECT user_id 
      FROM user
      WHERE company_id = ?
    ) 
Run Code Online (Sandbox Code Playgroud)

table1 与用户表 by 相关user_id,但我只有,company_id所以我做了一个子查询(可能应该是一个连接,但那是另一个讨论):

const [results, buff] = await connection.execute(query, values);
return results
Run Code Online (Sandbox Code Playgroud)

但是,当访问结果以确保没有错误并且仅更新一行时,results将返回:

  console.log
    ResultSetHeader {
      fieldCount: 0,
      affectedRows: 1,
      insertId: 0,
      info: 'Rows matched: 1  Changed: 0  Warnings: 0',
      serverStatus: 2,
      warningStatus: 0,
      changedRows: 0
    }
Run Code Online (Sandbox Code Playgroud)

但我无法访问这些值。如果我尝试results.affectedRows我得到

Property 'affectedRows' does not exist on type 'RowDataPacket[] | …
Run Code Online (Sandbox Code Playgroud)

mysql node.js mysql2 typescript

5
推荐指数
1
解决办法
5848
查看次数