LoginSignup
1
0

More than 1 year has passed since last update.

dockerのmysqlで"Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"が出たときの解決例

Posted at

何があった?

もともと動いていたdocker-composeのデータベースの設定周りをお試でいじった後コンテナを立ち上げたら題名のエラーが出てしまい、imageを全削除してもdockerやpcを再起動しても動かなくなってしまいました。

もちろん検索で一番よく出てくる/var/run/mysqld/mysqld.sockの追加も試しましたがこちらもうまくいきませんでした。

このエラーの原因

筆者の場合ではdockerfileの間違った使い方(エラー文には出ないsyntaxエラー)によるものでした。

動かない書き方
===前略===
  mroonga:
    container_name: mroonga
    build:
      context: .
      dockerfile: mroonga.Dockerfile #←この中身が悪かった
    volumes:
      - ./logs/mysql:/var/log/mysql
      - ./local-docker/mysql/mysqld_charset.cnf:/etc/mysql/conf.d/mysqld_charset.cnf
      - ./local-docker/mroonga/00-install.sql:/docker-entrypoint-mroonga-initdb.d/00-install.sql
===後略===

解決した方法

下記のように作成者が想定した通りの使い方に戻すことでエラーがなくなりました。

エラーが直った
===前略===
  mroonga:
    container_name: mroonga
    image: groonga/mroonga:mysql-8.0-latest #←dockerfileでカスタマイズするのをやめた
    volumes:
      - ./logs/mysql:/var/log/mysql
      - ./local-docker/mysql/mysqld_charset.cnf:/etc/mysql/conf.d/mysqld_charset.cnf
      - ./local-docker/mroonga/00-install.sql:/docker-entrypoint-mroonga-initdb.d/00-install.sql
===後略===

補足

自分の場合はdockerfileが悪かった事によるエラーでしたが、環境変数の設定ミスによっても同じエラーが出ることがあるらしいです。

この記事の中盤くらいに記載があって、指摘内容はmysqlへの接続情報(hostなど)が指定されていないことによるエラーではと書いてあります。

image.png

また同じ記事内に、OSなど他ソフトとのバージョンがあっていないとこのエラーが出る指摘もあり、過去の経験的にはこちらもよく発生しそうだと思ったので紹介しておきます。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0