mysqldumpのときだけソケットエラーが出る

現状は ソケットのパスを指定してmysqldumpすることで実行できる

mysqldump -q wordpress -u root -p > バックアップファイル名 -S /Applications/MAMP/tmp/mysql/mysql.sock

そんなに頻繁にすることでもないのでこれでいいかなとも思う

 

環境

mac10.10.2

MAMP3.0.7.3

 

MAMPをインストールして

mysqlにアクセスしようとしたら

ソケットエラーでアクセスできないので

調べたら macphp.ini の設定で

/Applications/MAMP/tmp/mysql/mysql.sock

を指定すればいいという記事が多かったのでその通りにして

無事アクセスできるようになった。が

今度はバックアップするためにmysqldumpを実行しようとすると

ソケットエラーになる

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

tmpフォルダー内のmysql.sockをつかってサーバーにつなげることができない というエラー

よく見るとパスが違う
実際にMAMPmysql.sock があるのは
/tmp/mysql/mysql.sock
なので ダンプするときのパスの設定を直せばうまくいきそうだが、どこに書いてある?
confファイルをあさってみる
my-large.cnf はok
my-medium.cnf はok
my-small.cnf はok
というかなんでこんなにあるの?

やみくもにファイルをみてもダメだったので

調べていると コマンドを実行するときにソケットを指定できるようなので試してみた

mysqldump -q wordpress -p root > back -S /Applications/MAMP/tmp/mysql/mysql.sock

すると次のエラー

Access denied for user 'XXX'@'localhost' (using password: YES) when trying to connect

ユーザーがrootじゃなくて自分の名前になっていたので ユーザーを指定すればいけるかと考える

mysqldump -q wordpress -u root -p > back -S /Applications/MAMP/tmp/mysql/mysql.sock

エラーは出ず、成功したようなので 確認してみると 確かに back というファイルができている
中身もちゃんとあるのでこれで 'できない'状態からは抜け出せた

あとは mysqldump するときの ソケットの設定をどこで書けばいいのか調べればいいのだけれど
まだわからない