簡體   English   中英

應用程序無法連接到本地MySQL-osx

[英]app can't connect to local MySQL - osx

我在osx上運行了一些Rails應用程序,但是當我啟動rails generate命令類型時,我收到以下消息:

/$root/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)

有關信息,我的mamp服務器正在運行,並且連接必須通過/Applications/MAMP/Library/bin/mysql ,因此我通過在bash配置文件中進行設置來對其進行別名:

alias mysql="/Applications/MAMP/Library/bin/mysql"

順便說一句,奇怪的是,我的rails s命令完美運行,因此在這種情況下,我的應用程序可以連接到apache服務器

因此,訣竅是將/tmp/mysql.sock簡單地/tmp/mysql.sock /Applications/MAMP/tmp/mysql/mysql.sock

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

該錯誤指示“ MySQL未啟動/正在運行”。 根據您的描述,看起來新的位置指向別名沒有mysql或它的mysql沒有啟動。

在新位置中查找具有正確參數的my.cnf文件:/ Applications / MAMP / Library / bin / mysql

另一個技巧是列出正在運行的進程並查找mysql。 另外,您確定“ rails c”沒有使用sqlite3 vs mysql嗎?

更新:

*由@bfavaretto 在OS X上的MySQL my.cnf位置提供嗎?

By default, the OS X installation does not use a my.cnf, and MySQL just uses the default values. To set up your own my.cnf, you could just create a file straight in /etc.

OS X在/ usr / local / mysql / support-files /中提供了示例配置文件

更新:
看看這個: https : //stackoverflow.com/questions/4788381/getting-cant-connect-through-socket-tmp-mysql-when-installing-mysql-on-m

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM