mysqldumpのときだけソケットエラーが出る
現状は ソケットのパスを指定してmysqldumpすることで実行できる
mysqldump -q wordpress -u root -p > バックアップファイル名 -S /Applications/MAMP/tmp/mysql/mysql.sock
そんなに頻繁にすることでもないのでこれでいいかなとも思う
環境
mac10.10.2
MAMP3.0.7.3
MAMPをインストールして
mysqlにアクセスしようとしたら
ソケットエラーでアクセスできないので
/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をつかってサーバーにつなげることができない というエラー
よく見るとパスが違う
実際にMAMPの mysql.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 するときの ソケットの設定をどこで書けばいいのか調べればいいのだけれど
まだわからない