nov*_*rmr 6 mysql sockets macos terminal ruby-on-rails
我整天都在努力,我需要一些帮助.
我正在尝试为我正在从github工作的RoR项目设置mysql数据库.
当我尝试在终端中设置数据库时,我收到以下错误:
Eric-MacBook:~ eric$ cd ~/review_rocket
Eric-MacBook:review_rocket eric$ rake db:setup
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Run Code Online (Sandbox Code Playgroud)
我已经查看了20个关于SO的问题,但没有一个能够帮助我解决我的问题.
数据库已启动并正在运行,并且还设置了database.yml.
我现在有点生气了......拜托......帮助......为时已晚.
更新:我只看了我已安装的宝石,由于某种原因它正在显示mysql2(见下文)
Eric-Reas-MacBook:~ ericrea$ gem list
*** LOCAL GEMS ***
multi_json (1.8.2)
mysql2 (0.3.13)
net-sftp (2.1.2)
Run Code Online (Sandbox Code Playgroud)
这对我来说有点奇怪......
更新:这是我的database.yml看起来像:
common: &common
adapter: mysql2
encoding: utf8
reconnect: false
pool: 5
user_name: xxxx
password: xxxx
socket: /var/run/mysqld/mysqld.sock
development:
<<: *common
database: dev_review_rocket
# Warning: The database defined as "money_tracker_test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *common
database: test_review_rocket
production:
<<: *common
database: prod_review_rocket
Run Code Online (Sandbox Code Playgroud)
更新:现在尝试使用自制软件重新安装mysql时出现奇怪的错误(见下文):
$ brew install mysql
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.1
Already downloaded: /Library/Caches/Homebrew/mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> Pouring mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:32:41 56901 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:32:41 56901 [Note] InnoDB: Starting shutdown...
2013-10-22 18:32:42 56901 [Note] InnoDB: Shutdown completed; log sequence number 1626067
2013-10-22 18:32:42 56901 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete
Warning: mysql post_install failed. Rerun with `brew postinstall mysql`.
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
==> Summary
/usr/local/Cellar/mysql/5.6.13: 9382 files, 354M
Eric-Reas-MacBook:~ ericrea$ brew postinstall mysql
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:33:22 57135 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:33:22 57135 [Note] InnoDB: Starting shutdown...
2013-10-22 18:33:23 57135 [Note] InnoDB: Shutdown completed; log sequence number 1626087
2013-10-22 18:33:23 57135 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete
READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting
These open issues may also help:
https://github.com/mxcl/homebrew/issues/22021
https://github.com/mxcl/homebrew/pull/22480
Run Code Online (Sandbox Code Playgroud)
nov*_*rmr 16
我最终想出了这个.
我运行了以下命令:
$ mysqladmin variables | grep socket
Run Code Online (Sandbox Code Playgroud)
返回的是:
| performance_schema_max_socket_classes | 12 |
| performance_schema_max_socket_instances | 323 |
| socket | /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)
然后我检查了我的database.yml文件中的套接字位置,这是错误的:
那是错的.将它更换到正确的插座位置后,一切都像魅力一样.我希望这可以帮助将来的某个人.
NM *_*ker 12
你必须启动mysql服务器
mysql.server start
Run Code Online (Sandbox Code Playgroud)
我想你可能正在寻找
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24460 次 |
| 最近记录: |