Rails 服务器错误
Rails Server Error
我最近使用 Homebrew 在 mac 上安装了 rails。我使用 rails s
启动了 rails 服务器,但是当我访问 localhost:3000
时,出现以下错误。
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
socket = socket.to_s unless socket.nil?
connect user, pass, host, port, database, socket, flags
end
def self.default_query_options
我已在 Google 上搜索了足够多,但找不到解决方案。
编辑:
我开始 mysql 使用 mysql.server 开始。它开始了。但是当我使用 mysql -u root
时,它会出现以下错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
。但是在 localhost:3000
它给出了这个错误 Access denied for user 'root'@'localhost' (using password: NO)
。据我所知,我没有为 mysql 设置任何密码。
错误的意思是Rails无法连接到数据库。 MySQL 可能不是 运行ning,或者您错误配置了 database.yml
文件。
你写道你是通过 Homebrew 安装的 MySQL。 Homebrew 不会自动配置 MySQL 在系统启动时启动。这在设置结束时的输出中进行了解释,如果您 运行 brew info mysql
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To reload mysql after an upgrade:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
运行brew info mysql
,按照说明手动启动MySQL,或者用launchctl
.
配置
您可以使用
测试MySQL是运行ning
mysql -uroot
还要确保使用正确的主机名、用户名和密码正确配置 database.yml
文件。这些值取决于您(或自制软件)如何配置您的 MySQL 实例。
如果您的终端给出 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
,那么您肯定有密码。您可能已经忘记了它。
另外,如果记得,请转到 config/database.yml
文件并在那里填写您的 mysql 用户名和密码。
另外,如果您还没有得到密码;使用 brew remove mysql
卸载并尝试使用 Oracle 网站的 .dmg
安装程序。
请确保您已在 /etc/init.d/mysqld start
之前启动了 MySQL 服务器。
mysql -u root
会产生您所说的错误。可以通过 mysql -u root -p
避免此错误(是的,额外的 p 有时可以解决您的问题)。
如果这不起作用,那么您可以尝试以下命令序列:
sudo /etc/init.d/mysqld stop
停止 MySQL 服务器
sudo /etc/init.d/mysqld restart
重新启动 MySQL 服务器
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
用于创建软
link 在实际 mysql.sock file
和 /tmp/mysql.sock
之间
/usr/bin/mysql_secure_installation
为了安全
安装 mysql。你可以 运行 即使你有
MySQL 已安装(用于故障排除)。它会提示你输入
根密码。输入它,对于其他选项,只需键入 n
即可。
我最近使用 Homebrew 在 mac 上安装了 rails。我使用 rails s
启动了 rails 服务器,但是当我访问 localhost:3000
时,出现以下错误。
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
socket = socket.to_s unless socket.nil?
connect user, pass, host, port, database, socket, flags
end
def self.default_query_options
我已在 Google 上搜索了足够多,但找不到解决方案。
编辑:
我开始 mysql 使用 mysql.server 开始。它开始了。但是当我使用 mysql -u root
时,它会出现以下错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
。但是在 localhost:3000
它给出了这个错误 Access denied for user 'root'@'localhost' (using password: NO)
。据我所知,我没有为 mysql 设置任何密码。
错误的意思是Rails无法连接到数据库。 MySQL 可能不是 运行ning,或者您错误配置了 database.yml
文件。
你写道你是通过 Homebrew 安装的 MySQL。 Homebrew 不会自动配置 MySQL 在系统启动时启动。这在设置结束时的输出中进行了解释,如果您 运行 brew info mysql
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To reload mysql after an upgrade:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
运行brew info mysql
,按照说明手动启动MySQL,或者用launchctl
.
您可以使用
测试MySQL是运行ningmysql -uroot
还要确保使用正确的主机名、用户名和密码正确配置 database.yml
文件。这些值取决于您(或自制软件)如何配置您的 MySQL 实例。
如果您的终端给出 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
,那么您肯定有密码。您可能已经忘记了它。
另外,如果记得,请转到 config/database.yml
文件并在那里填写您的 mysql 用户名和密码。
另外,如果您还没有得到密码;使用 brew remove mysql
卸载并尝试使用 Oracle 网站的 .dmg
安装程序。
请确保您已在 /etc/init.d/mysqld start
之前启动了 MySQL 服务器。
mysql -u root
会产生您所说的错误。可以通过 mysql -u root -p
避免此错误(是的,额外的 p 有时可以解决您的问题)。
如果这不起作用,那么您可以尝试以下命令序列:
sudo /etc/init.d/mysqld stop
停止 MySQL 服务器sudo /etc/init.d/mysqld restart
重新启动 MySQL 服务器ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
用于创建软 link 在实际mysql.sock file
和/tmp/mysql.sock
之间
/usr/bin/mysql_secure_installation
为了安全 安装 mysql。你可以 运行 即使你有 MySQL 已安装(用于故障排除)。它会提示你输入 根密码。输入它,对于其他选项,只需键入n
即可。