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

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

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

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

MacOS(OSX)

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

Q&A

解決済

2回答

943閲覧

mysqlにログインできません

kohya_suzuki

総合スコア24

MySQL

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

MacOS(OSX)

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

0グッド

0クリップ

投稿2020/03/17 23:06

編集2020/03/18 09:27

mysqlでログインできずに困っています。

試したこと

・tmp/mysql.sockファイルの作成
・PIDファイルの作成
・mysqlの管理者権限の変更
・mysqlサーバーの再起動
・エラーログのコマンドを打ってみたがエラーの文が見当たらない…

参考サイト
起動時でエラー 
エラーログについて
PID fileエラーについて

参考サイトに慣いmysql.sockを作成、mysqlリスタート。PIDファイルを更新せずにサーバーが終了したとのエラー。

MacBook-Pro:task_app suzukikohya$ sudo touch /tmp/mysql.sock Password: MacBook-Pro:task_app suzukikohya$ sudo mysql.server restart ERROR! MySQL server process #84310 is not running! Starting MySQL ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).

PIDファイルの作成。リスタート。

MacBook-Pro:task_app suzukikohya$ sudo touch MacBook-Pro.local.pid Password: MacBook-Pro:task_app suzukikohya$ mysql sudo mysql.server restart mysql Ver 8.0.19 for osx10.15 on x86_64 (Homebrew) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. (以下略)

ログインを試みる。が、最初に作ったはずの/tmp/mysql.sockとPIDのエラー。

MacBook-Pro:task_app suzukikohya$ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) MacBook-Pro:task_app suzukikohya$ sudo mysql.server restart ERROR! MySQL server PID file could not be found! Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).

思考を変えて、エラーログへのアクセスを試みるのですが失敗。。

MacBook-Pro:task_app suzukikohya$ vim MacBook-Pro.local.err * vimは開いたものの、エラーがどこにも書いていない…そのため断念。

管理者権限が無いかもとの書き込みを発見したので、権限を変更。がやはり同じエラーのまま。

acBook-Pro:task_app suzukikohya$ sudo chown mysql:mysql /tmp Password: MacBook-Pro:task_app suzukikohya$ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) MacBook-Pro:task_app suzukikohya$ sudo mysql.server restart ERROR! MySQL server PID file could not be found! Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).

やはり作ったはずのPIDファイルのエラーが出ます。

どこに問題があるのか、行き詰まっています。
ご回答よろしくお願いします。

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

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

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

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

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

hoshi-takanori

2020/03/17 23:30

.sock ファイルや .pid ファイルは自分で作るものではありません。 mysql はどうやってインストールしましたか? type -a mysql の結果を教えてください。
kohya_suzuki

2020/03/18 09:18

hoshi-takanoriさん ご指摘いただき、ありがとうございます。 MacBook-Pro:task_app suzukikohya$ type -a mysql mysql is /usr/local/bin/mysql mysql is /Applications/XAMPP/bin/mysql mysql is /Applications/XAMPP/bin/mysql mysql is /Applications/XAMPP/bin/mysql mysql is /Applications/XAMPP/bin/mysql これが結果になります。
kohya_suzuki

2020/03/18 09:28

Orlofskyさん ご指摘いただきありがとうございます。 リンクの書き方について、修正致しました。
hoshi-takanori

2020/03/18 09:57

つまり、brew で入れたものと XAMPPで入れたものと、2 系統の mysql が入っていて混乱してるってことですね。
kohya_suzuki

2020/03/18 21:47

hoshi-takanoriさん そういうことなんですね! これは両者を使い分けるための方法があるのでしょうか?
hoshi-takanori

2020/03/18 22:09

使い分けることもできなくはないと思いますが、たぶん混乱するだけだと思うので、どちらかに統一したほうがいいのでは。
kohya_suzuki

2020/03/20 02:49

XAMPPをアンインストール しました! エラーの状況としては変わりないようでした。 とりあえずですが、なんとか自己解決しました。 ご指導ありがとうございました!
guest

回答2

0

technocoreさんからご教授いただいた、sudo chown -R $(whoami) $(brew --prefix)/*のコマンド実行後から、とりあえずの自己解決に至りました。

・こちらの記事を参考にしています。
MySQLでの…
Macでmysqlを扱う方法
mysql公式 --skip-grant-tables

$ sudo chown -R $(whoami) $(brew --prefix)/*  コマンド実行直後より以下続きです。

・root権限でログインを試みる。とりあえずCan't connect to local MySQL server through socket '/tmp/mysql.sock' (38)のエラーは消えました。次はAccess deniedエラーになる。
MacBook-Pro:~ suzukikohya$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

・参考記事[mysql公式]より --skip-grant-tablesの説明は
「このオプションにより、サーバーは権限システムをまったく使用せずに開始され、サーバーへのアクセス権を持つすべてのユーザーにすべてのデータベースに対する無制限アクセス権が与えられます。」
とのこと。権限を使用せずにmysqlの起動ができるようです。やってみる。

MacBook-Pro:~ suzukikohya$ mysqld_safe --skip-grant-tables &
[1] 76089
MacBook-Pro:~ suzukikohya$ 2020-03-20T01:28:38.6NZ mysqld_safe Logging to '/usr/local/var/mysql/MacBook-Pro.local.err'.
2020-03-20T01:28:38.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.19 Homebrew

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
<以下略>

・起動はできました。rootログインを再度試みます。
MacBook-Pro:~ suzukikohya$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.19 Homebrew

・ログインできました!しかし…
mysql> show grants;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

show grantsで現在ログイン中しているユーザの権限確認をしましたが、エラー。
--skip-grant-tablesを取り消さねばならないようですが、このあとmysqlをstopさせ、あるいはrestartさせましたが、同じエラーが出ています。
ログインする目的は果たせましたが、また一難ということで機会があれば追記致します。
おかしなところがございましたら、ご指摘よろしくお願いします。
ご指導いただき、ありがとうございました。

投稿2020/03/20 02:46

kohya_suzuki

総合スコア24

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

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

technocore

2020/03/20 03:29 編集

mysqlをインストールした直後セキュリティセットアップ(mysql_secure_installation)は実行しましたか? 未実施でしたら、一旦mysqlを削除して最初からやり直してみてください。 (すべて一般ユーザで実施) $ brew services stop mysql $ brew uninstall mysql $ brew install mysql $ mysql_secure_installation セキュリティセットアップの参考サイト https://weblabo.oscasierra.net/mysql-57-init-setup/
kohya_suzuki

2020/03/21 02:55

何度もお時間いただき、申し訳ありません。 どうやら全く解決に至っていないようで、再びログイン出来なくなりました。 mysql_secure_installationもしたことがないです。おっしゃる通りに再インストールしてみました。 参考サイトを拝見させていただきましたが、初期設定パスワードの書かれている/var/log/mysqld.logファイルが見当たらず困っています。 https://qiita.com/RyosukeSomeya/items/c695487588f5ac28d9f4 などを参考にログを開こうにもvimやlessコマンドでも見当たらずというところです。 (ログを今まで開いたことがないため、手探りです。) また、brew install mysqlをすると We've installed your MySQL database without a root password. To secure it run: mysql_secure_installation と出ているのですが、それでも初期のrootパスワードは存在するのでしょうか?
guest

0

ベストアンサー

Homebrewの作業は一般ユーザ(あなた)で行います。
sudo(root権限)をつけて作業してはいけません。
sudoをつけて作業すれば、一般ユーザ(あなた)が読み書きできないファイルやディレクトリができてしまいHomebrewが使い物にならなくなります。

また、Homebrewでインストールしたサービスは以下のように操作します。
(一般ユーザで実行、sudoで実行してはいけない)

サービスの確認 $ brew services list Name Status User Plist httpd started ユーザ名 /Users/ユーザ名/Library/LaunchAgents/homebrew.mxcl.httpd.plist mysql started ユーザ名 /Users/ユーザ名/Library/LaunchAgents/homebrew.mxcl.mysql.plist postgresql stopped サービスの停止 $ brew services stop mysql Stopping `mysql`... (might take a while) ==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql) サービスの起動 $ brew services start mysql ==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

投稿2020/03/17 23:43

technocore

総合スコア7200

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

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

kohya_suzuki

2020/03/18 21:37

ご回答いただき、ありがとうございます。 homebrewからの起動というものを知りませんでした。 MacBook-Pro:task_app suzukikohya$ brew services start mysql ==> Successfully started `mysql` (label: homebrew.mxcl.mysql) MacBook-Pro:task_app suzukikohya$ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) しかしやはりログインまで至りません。 他にも根本から足りない要素があるのでしょうか?
technocore

2020/03/18 23:42

あなたの場合、過去にroot権限で作業してしまっているので、これを修正しましょう。 一般ユーザ(あなた)で以下のコマンドを実行し、再起動してください。 Homebrewの領域のファイル、ディレクトリの所有者をあなたに戻す方法です。 /tmp配下は、再起動したらクリアされるので何もしなくて良いです。 $ sudo chown -R $(whoami) $(brew --prefix)/* この後、改めてmysqlの操作を試してみてください。
kohya_suzuki

2020/03/20 02:55

お教えいただいたコマンドの後、とりあえずログインまで自己解決に至りました。 詳細を書きましたので、よろしければご覧いただきたく思います。 正直、かなり怪しい解決な感じがしています。。 ご指導いただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問