Rails 应用程序无法通过命名管道/套接字连接到本地 MySQL 服务器 --- Windows 7 x64

Posted

技术标签:

【中文标题】Rails 应用程序无法通过命名管道/套接字连接到本地 MySQL 服务器 --- Windows 7 x64【英文标题】:Rails Application Cannot Connect to Local MySQL Server Through Named-Pipe/Socket --- Windows 7 x64 【发布时间】:2011-08-15 01:06:18 【问题描述】:

我正在尝试设置 Rails 应用程序以使用本地计算机上的 mysql 服务器进行开发。我已经针对 MySQLConnector/C 成功编译了mysql2 gem;尽管我使用与我的 MySQL 服务器安装捆绑在一起的 libmysql.dll 收到了同样的错误。当我尝试rake db:create 时,应用程序无法连接到 MySQL 服务器。

MySQL 在我的机器上配置为 Windows 服务,通过命名管道自动启动本地连接; TCP-IP 已完全禁用。我的my.ini 文件中的套接字名称是mysql

我的 Rails 应用程序的 database.yml 文件如下所示:

开发: 适配器:mysql2 编码:utf8 重新连接:false 数据库:application_dev 游泳池:5 用户名:root

密码:**********

主机:本地主机 套接字:mysql

测试: 适配器:mysql2 编码:utf8 重新连接:false 数据库:application_test 游泳池:5 用户名:root

密码:**********

主机:本地主机 套接字:mysql

我收到的错误是:

D:\Dropbox\Programming\Ruby\application>rake db:create (在 D:/Dropbox/Programming/Ruby/应用程序中) 无法连接到“localhost”上的 MySQL 服务器 (10061) 无法为 "adapter"=>"mysql2", "encoding"=>"utf8", "reconnect"=>false, "database"=>"application_test", "pool"=>5, "username" 创建数据库"=>"root", "密码"=>"**********", "host"=>"localhost", " socket"=>"mysql",字符集:utf8,排序规则:utf8_unicode_ci

无法连接到“localhost”上的 MySQL 服务器 (10061) 无法为 "adapter"=>"mysql2", "encoding"=>"utf8", "reconnec" 创建数据库 t"=>false, "database"=>"application_dev", "pool"=>5, "username"=>"root", "password "=>"**********", "host"=>"localhost", "socket"=>"mysql", charset: utf8, collat​​ion: utf8_unicode_ci

我正在使用带有以下 Ruby/Rails/MySQL 发行版的 Windows 7 Home Premium 64 位:

ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

Rails 3.0.7

mysql2 rubygem 0.2.7

mysql Ver 14.14 Distrib 5.5.11, for Win32 (x86)

mysql Connector/C 6.0.0

我尝试重新安装 MySQL 服务器并启用 TCP-IP 连接,但它只是挂起而不是失败。

【问题讨论】:

【参考方案1】:

尝试在你的database.yml中添加这个参数指定端口号:

port: 3306 (or whatever your mysql port has)

【讨论】:

以上是关于Rails 应用程序无法通过命名管道/套接字连接到本地 MySQL 服务器 --- Windows 7 x64的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道连接到 LibreOffice

Mysql 无法通过 Amazon EC2 上的套接字连接到本地服务器

通过命名管道从 Windows 服务(会话#0)连接到桌面应用程序(会话#1)

命名管道客户端无法连接到作为网络服务运行的服务器

Rails 6 无法连接到 AWS Elastic Beanstalk 预置的 RDS。 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”

Heroku Rails 4 无法连接到服务器:连接被拒绝