【发布时间】:2015-07-28 13:13:06
【问题描述】:
我的网站有时会导致 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)
数据库.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托管。但是现在我有centOS 6.6 server 使用mysql,所以我安装了mysqld并使用它。
然后上面的错误就出现了。
如何解决这个问题?
添加
- 将主机更改为私有 ip 和域没有任何影响。
-
在下面添加mysqld设置后
general_log=ON log_warnings=2日志文件没有关于丢失连接的日志。
【问题讨论】:
-
你是通过你的内部私网IP还是公网IP连接mysql?尝试使用您的内部私人 IP。
-
@NitinSatishSalunke 我已经尝试过使用域和私有 IP。但是问题还是出现了。
标签: mysql ruby-on-rails