繁体   English   中英

在rake db:migrate期间,Mina Deploy无法连接到MySQL

[英]Mina Deploy fails connecting to MySQL during rake db:migrate

我是第一次使用Mina进行Rails 4应用程序部署。 这是一个使用MySQL的非常简单的应用程序。 服务器是Digital Ocean上的Ubuntu 14.04。 我在服务器上安装了MySQL,并且可以使用database.yml中的凭据在服务器上使用mysql CLI登录。 但是,当Mina尝试运行rake db:migrate时,它将失败,并显示以下内容:

-----> Migrating database
   $ RAILS_ENV="staging" bundle exec rake db:migrate
   rake aborted!
   Mysql2::Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

我验证了/etc/mysqld/my.cnf中的套接字位置是/var/run/mysqld/mysql.sock,并且它也与database.yml配置匹配。

为什么?

这些是解决您的问题的步骤:

步骤1:将您的主机更改为127.0.0.1

staging:
  adapter: mysql2
  host: 127.0.0.1
  username: root
  password: xxxx
  database: xxxx
  socket: your-location-socket

步骤2:看来您有2个连接进入服务器MySql。 要找到您的套接字文件位置,请执行以下操作:

mysqladmin variables | grep socket

对我来说:

mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' exists!

要么

mysql --help 

我收到此错误是因为我在OS X版本10.9.5中为PHP应用程序安装了XAMPP。 在此处选择默认的套接字位置之一。

我选择默认的Rails应用程序:

socket: /tmp/mysql.sock

对于我的PHP应用程序,我安装了XAMPP,所以在这里设置了我的套接字:

socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

OS X中的OTHERS套接字位置

对于MAMPP:

socket: /Applications/MAMP/tmp/mysql/mysql.sock

对于MySQL的软件包安装程序:

socket: /tmp/mysql.sock

对于与Mac OS X Server捆绑在一起的MySQL:

socket: /var/mysql/mysql.sock

对于Ubuntu:

socket: /var/run/mysqld/mysql.sock

有关详细信息, ruby-on-rails-3-cant通过套接字tmp-mysql-s连接到本地MySQL服务器

步骤3:如果所有这些设置均无效,则可以删除套接字位置:

staging:
  # socket: /var/run/mysqld/mysql.sock

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM