我的应用程序的Ruby工作人员使用mysql2 gem通过MYSQL连接到我的Rails应用程序数据库。我有两个工作人员:1个与应用程序在同一服务器上,1个远程。当以下UPDATE
和SELECT
查询在远程服务器上运行时,它们不会更新/选择数据。
variablename = true
othervariable = false
client = Mysql2::Client.new(:host => @app_ip_address, :username => @mysql_username, :password => @mysql_password)
client.query("USE `publisher_support_automation_app`;")
update_query = %{ UPDATE tablename SET
variablename = #{variable1},
othervariable = #{variable2},
WHERE id = #{@id};
}.gsub(/\s+/, ' ')
client.query(update_query) #=> no error, data not updated
res = client.query("SELECT * FROM tablename WHERE id = #{@id};")
res.each do |row|
@logger.debug(row.inspect) #=> nothing logged
end
client.close
但是,其他UPDATE
,SELECT
(和INSERT
)命令运行正常。当我在IRB中运行确切的命令时,它们工作正常。
我按this post启用了MYSQL错误记录,并且没有记录任何错误。
远程计算机使用的是Ruby版本2.1.1p76,MYSQL Server版本5.1.73和mysql2版本0.4.1。该应用程序使用的是Ruby版本2.0.0p353,MYSQL Server版本:5.1.73和mysql2版本0.3.18。