質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

受付中

【Rails】dockerを使用したrails db:create時に出るMySQLエラーを解消したい

t.ozawa
t.ozawa

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0回答

0評価

2クリップ

1449閲覧

投稿2020/01/16 15:31

編集2022/01/12 10:55

数日前までdockerでの開発ができていたのですが、ローカルでmysqlのエラーが出たため、色々といじっていたら今度はdockerでの開発できなくなってしまいました。。
エラーの内容は以下記載しますが、MySQLへの接続ができないようです。

(base) ozawatsubasanoMacBook-Air:testapp t.ozawa$ docker-compose run web rails db:create Starting testapp_db_1 ... done Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") Couldn't create 'app_name_development' database. Please check your configuration. rails aborted! Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") 〜以下省略
(base) $ cd ~/./var/run/mysqld -bash: cd: /Users/t.ozawa/./var/run/mysqld: No such file or directory (base) $ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.6.47 Homebrew Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> exit Bye (base) $ sudo /etc/init.d/mysqld restart Password: sudo: /etc/init.d/mysqld: command not found (base) ozawatsubasanoMacBook-Air:testapp t.ozawa$ mysql.server restart Shutting down MySQL .... SUCCESS! Starting MySQL .. SUCCESS! (base) $ sudo rm -f /var/run/mysqld/mysqld.sock (base) $ sudo rm -f /tmp/mysql.sock (base) $ sudo /etc/init.d/mysql start sudo: /etc/init.d/mysql: command not found (base) $ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (base) $ sudo mysql.server start --log Starting MySQL SUCCESS! (base) $ 200116 23:04:35 mysqld_safe A mysqld process already exists (base) $ cd /etc/myslq -bash: cd: /etc/myslq: No such file or directory (base) $ cd /etc (base) $ ls afpovertcp.cfg localtime php.ini.default aliases locate.rc postfix aliases.db mach_init.d ppp apache2 mach_init_per_login_session.d profile asl mach_init_per_user.d protocols asl.conf mail.rc racoon auto_home man.conf rc.common auto_master manpaths rc.netboot autofs.conf manpaths.d resolv.conf bashrc master.passwd rmtab bashrc_Apple_Terminal nanorc rpc com.apple.screensharing.agent.launchd networks rtadvd.conf csh.cshrc newsyslog.conf security csh.login newsyslog.d services csh.logout nfs.conf shells cups notify.conf snmp defaults ntp.conf ssh dnsextd.conf ntp_opendirectory.conf ssl emond.d openldap sudo_lecture find.codes pam.d sudoers fstab.hd passwd sudoers.d ftpusers paths syslog.conf gettytab paths.d ttys group periodic wfs hosts pf.anchors xtab hosts.equiv pf.conf zprofile irbrc pf.os zshrc kern_loader.conf php-fpm.conf.default krb5.keytab php-fpm.d (base) $ mysqld --version mysqld Ver 5.6.47 for osx10.14 on x86_64 (Homebrew) (base) $ mysql_config --socket /tmp/mysql.sock (base) $ mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf (base) cd /usr/local/etc/my.cnf -bash: cd: /usr/local/etc/my.cnf: Not a directory (base) $ cd ~./usr/local/etc/my.cnf -bash: cd: ~./usr/local/etc/my.cnf: No such file or directory (base) $ sudo /etc/init.d/mysql start Password: sudo: /etc/init.d/mysql: command not found

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

siruku6
siruku6

2020/01/18 09:25

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") ということなのですが、 /var/run/mysqld/mysqld.sock というファイルがあるかは確認されましたか。。。? 途中で (base) $ sudo rm -f /var/run/mysqld/mysqld.sock というコマンドを実行しているので、少なくとも一度は削除されているようです。
t.ozawa
t.ozawa

2020/01/18 11:12

ご連絡ありがとうございます! 確認しましたが、/var/runまでしかディレクトリがなく、mysqld以下はディレクトリ自体がない状況です。。
siruku6
siruku6

2020/01/19 09:41

/var/run/mysqld/mysqld.sock を通じて mysql にアクセスしているので、そのファイルがなければアクセスできません。 このあたりに解決策が書いてあるので、どれが自身の環境に適切に対処できるか検討した上で実施するとよいと思います。 特に、dockerということで、configを書き換えるのは面倒だと考えられるので、configファイルを書き換える以外の対処法を取った方がよさそうな気はしています。 https://stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run/15039113 https://blog.kujira-station.com/201508311834 https://dba.stackexchange.com/questions/196836/cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysqld-sock

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです