这是一个重复的问题。与这个问题有关的答案对我没有任何帮助。请帮我解决这个问题。
MySQL查询:
insert_query = %{INSERT INTO my_table (`my_column`) VALUES("#{my_value}");}.gsub(/\s+/, ' ')
client = Mysql2::Client.new(:host => 'localhost', :username => "#{ENV['MYSQLUSERNAME']}", :password => "#{ENV['MYSQLPASSWORD']}")
client.query("USE `my_database`;")
client.query(insert_query)当将值插入my_column时,我得到一个错误“‘查询’:MySQL服务器已经消失”(MySQL 2::error )。my_column具有MEDIUMTEXT数据类型,它将在其中存储编码的字符串值。如果编码的字符串数(在Ruby中使用Base64.encode 64)更多(超过1,00000或1,00000),那么我将面临一个错误。但是,如果编码的字符串长度较小,则可以正常工作。我试过设置wait_timeout和max_allowed_packet。但无论如何也帮不了我!
提前感谢!
发布于 2014-11-04 14:07:19
要解决这个问题,您应该增加/etc/my.cnf文件中的最大数据包大小限制“/etc/my.cnf”(如果不存在文件,可以创建它)。
您可以设置:max_allowed_packet = 128M
然后重新启动mysql。
https://stackoverflow.com/questions/26737058
复制相似问题