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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

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

Q&A

解決済

1回答

303閲覧

ローカルでサーバーを立ち上げようとするとMysql2::Errorが出ます。

nori7777

総合スコア23

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

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

0グッド

0クリップ

投稿2018/03/15 14:47

編集2018/03/18 00:45

前提・実現したいこと

rails sでサーバーを立ち上げたい
ローカルでサーバーを立ち上げようとするとMysql2::Errorが出ます。

発生している問題・エラーメッセージ

Can't connect to local MySQL server throug h socket '/tmp/mysql.sock' (2) (Mysql2::Error)

試したこと

調べると
mysqlに接続するためのソケットファイルが指定した場所にないのでconfig/database.ymlできちんとmysqlのソケットファイルのパスを 指定してやればokです。ということで
リンク内容
でいけそうなのですが、一発でパスだけ調べれると書かれてるのですが、ターミナルで打つと同じように上がってくるんですが
このパスを次にどうすればいいんでしょうか?(socketファイルはあるのか?)

$cd tmp/mysql.sockと打ってもそのようなファイル、ディレクトリはないと表示されます。
まだそこからの続きもあるようなんですが、まずここからご教授頂けないでしょうか?
できれば一連の流れを咀嚼して宜しくお願いします。

$ mysql_config --socket /tmp/mysql.sock

追記 
ご指摘ありがとうございます。
rails sをすると現在

Access denied for user 'root'@'localhost' (using password: YES) (Mysql2::Error) ```が出ます。 $ mysql.server start $ ls -l /tmp/mysql.sock (mysql serverで起動でmysql.sock確認)  srwxrwxrwx 1 ####### wheel 0 Mar 16 10:39 /tmp/mysql.sock 上記リンクのように/etc/my.cnfに⬇️記述しようと下記コマンド実行

[mysqld]
socket=/var/mysql/mysql.sock

[client]
socket=/var/mysql/mysql.sock

$ cd /etc $ sudo touch my.cnf $ open my.cnf No application knows how to open /private/etc/my.cnf. と表示されファイルが開けないのですが、ここまでの流れはどうでしょうか? rails sからのエラーはパスワードが設定されていないために起こるエラー。と記事を見つけたのでconfig/database.ymlにあるファイルにあるパスワードの欄が空白なので自分で任意の値を入れて設定 しました。 **追記2** **MySQL のインストール手順** オープンソースのRDBMS MySQL をインストールしました

brew install mysql
brew tap homebrew/services
brew services start mysql

**現在の状況** rails s サーバー確認

Access denied for user 'root'@'localhost'
(using password: YES) (Mysql2::Error)

**エラーの原因:** (YESの場合)権限などのユーザ設定が間違えている。 **エラーへの対処法:** (YESの場合)権限の設定が問題ないか確認する。それでもできない場合は、ユーザを一度削除して再度作成してみる。 **対応状況 見解** 上記のように調べるとヒットしたのですが`using password: NO`の場合は対処の仕方 沢山出てるんですが`using password: YES` の方は中々見つからず。。 権限の設定の問題ないか確認するというのも具体的にどう調べるのか??という状況であります。 MySQL側で設定されているパスワードの確認とRailsの設定に記載されたパスワードの確認の仕方と 同じに揃える流れをご教授頂けないでしょうか? 宜しくお願いします。 ### 補足情報(FW/ツールのバージョンなど) Rails 5.1.4 ruby 2.4.1p111 **追記** mac OS High Sierra バージョン10.13.3

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiwa

2018/03/16 05:56

`cd tmp/mysql.sock`というコマンドが無意味です(最初の/が抜けている)。ソケットの有無を確認するなら`ls -l /tmp/mysql.sock`などと打ってみて下さい。またmysql serverが起動していない状態では mysql.sock は存在しないので、”No such file or directory” となります。
fiwa

2018/03/16 09:42

/tmp/mysql.sock が設定通り存在しているようなので、my.cnf を書き換える必要はないと思います。
CHERRY

2018/03/17 22:07 編集

お使いのOS とバージョンは、何ですか?。 MySQL側で設定されているパスワードとRails の設定に記載されたパスワードが異なっているのではないかと思われます。 MySQLは、どのようにインストールされましたか?
guest

回答1

0

ベストアンサー

ローカルでmysqlコマンド接続できるか確認してみるのが良いと思います。

mysql -u root [db名]

これで接続できるのであれば、database.ymlからpasswordの列をコメントアウトか、削除で解消するかと思います。

投稿2018/03/18 06:16

version1_2017

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nori7777

2018/03/18 17:36

回答アドバイスありがとうございます! mysql -u root [db名]のdb名が分からないためmysql -u root でサーバーに接続。 現在使ってるデータベース名とスレッドの情報を表示確認するため mysql> SELECT database(); で確認 +------------+ | database() | +------------+ | NULL | +------------+ 1 row in set (0.01 sec) mysql> SHOW PROCESSLIST; で確認 +----+------+-----------+------+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+----------+------------------+ | 5 | root | localhost | NULL | Query | 0 | starting | SHOW PROCESSLIST | +----+------+-----------+------+---------+------+----------+------------------+ データーベースは空で作成できていないので作成するため $bundle exec rake db:create Access denied for user 'root'@'localhost' (using password: YES)Please provide the root password for your MySQL installation と現在質問させて頂いてるエラーにまた出会い堂々巡りになってます。。 助けてください。宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問