我的网站有时导致500错误(任何路径)
但是再次刷新后,500错误消失,右页打开。
信息
Rails 4.1.4
MySQL 5.6.25
mysql2 gem 0.3.17
Rails webserver : nginx & unicorn on Ubuntu 12.10
db server : centOS 6.6
500错误消息
ActiveRecord::StatementInvalid (Mysql2::Error: Lost connection to MySQL server during query: BEGIN)
的database.yml
production:
adapter: mysql2
encoding: utf8
pool: 20
username: xxxx
password: xxxx
host: xxxx
database: xxxx
wait_timeout: 300
reconnect: true
centos 6.6 [mysqld]设置(/etc/my.cnf)
bind-address=0.0.0.0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET names utf8"
character-set-server = utf8
collation-server = utf8_general_ci
skip-name-resolve
wait_timeout=300
interactive_timeout=300
也许我认为mysqld设置存在问题,因为在移动mysql服务器之后会出现此错误。
我之前有过mysql帐号,不是linux服务器。所以我不需要设置mysql配置。只是使用mysql托管。但是现在,我使用了用于mysql的centOS 6.6服务器,所以我安装了mysqld并使用它。然后出现上述错误。
如何解决这个问题?
在
下添加mysqld设置后general_log=ON
log_warnings=2
日志文件没有关于连接丢失的日志。
答案 0 :(得分:0)
这可能是你的wait_timeout
设置为300吗?
我不确定你的连接在返回数据库之前有多长时间处于闲置状态,但设置为300时,MySQL会在5分钟内终止任何睡眠连接。
如果不是这样,请运行SHOW VARIABLES;
这将有助于确定问题所在。