web-dev-qa-db-ja.com

Drushとmysqlデータベース(MAMPを使用)接続の問題

データベース接続を含むいくつかのDrushメソッドの実行に問題があります。無料版のMAMPを実行しています。

siまたはpml問題ありません

しかし、drush archive-dumpメソッドを実行すると、次のエラーメッセージが表示されます。

Database dump failed.

キャプチャを見てください:

enter image description here

4
chefnelone

問題はmysql.sockの場所にあるようです。私はここから解決策を見つけました: http://www.razorsql.com/docs/support_mysql_mac_mamp.html

短い答え

ソケットの場所を変更する1つの方法は、mysql.sockの場所がデフォルトになるようにMAMP開始および停止スクリプトを編集することです。これを行うには、次のファイルを編集します。

/Applications/MAMP/bin/startMysql.sh

/Applications/MAMP/bin/stopMysql.sh

交換する

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

socket =/tmp/mysql.sock

問題を解決した方法

やった

drush ard -v

何が起こっているのかを見るために。

Executing: mysqldump --result-file /tmp/drush_tmp_1352892897_50a381e13a71d/... --no-autocommit --single-transaction --opt -Q  ... --Host=localhost --user=... --password=...
Database dump failed. 

Mysqldumpコマンドをコピーしてコマンドラインにコピーし、Enterキーを押しました。

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect.

この後、www.razorsql.comから解決策を見つけた後、ソケットの問題を解決するためにいくつかの方法を試しました。

5
jiv-e

特に、drushを使用してリモートdbをプルし、ローカルにロードしようとしたときに(drush-sql-sync)、同様の問題が発生しました。私が得ていたエラーは:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

ここで起こっているのは、(少なくとも私の場合は)その場所にソケットファイルがないことです。簡単な解決策は、シンボリックリンクを作成することです。

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

その効果は、/ tmp/mysql.sockのすべての呼び出しを適切なMAMP固有のパスにルーティングすることです。

4
user1970565

OSXをアップグレードした後も同じ問題が発生しました。私はいくつかのことを試しましたが、どれもうまくいきませんでした。そもそもすべてのシンボリックリンクが既に作成されていたため、次のエラーが発生し続けました。

Drushは、Drupalデータベースを起動(ブートストラップ)できませんでした。

Mysqlの問題だと思いましたが、次のように機能しました。~/.bash_profileをもう一度編集して、次の行を追加しました。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.4.4/bin:$PATH"

export PATH
export DRUSH_PHP="/Applications/MAMP/bin/php/php5.4.4/bin/php"
export PATH=/usr/local/bin:$PATH

ターミナルを再起動して出来上がり-drushは再び魅力のように動作します。 C13L0に感謝

0
Alex