senseIY
@senseIY (I Y)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

mysqlのエラーが解決できない

解決したいこと

mysqlでのエラーが解決できないので解決したい

発生している問題・エラー

#1つめ
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

#2つめ
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
cat: /var/run/mysqld/mysqld.pid: 許可がありません
rm: '/var/run/mysqld/mysqld.pid' を削除できません: 許可がありません
2022-02-01T05:41:01.994696Z mysqld_safe Fatal error: Can't remove the pid file:
/var/run/mysqld/mysqld.pid.
Please remove the file manually and start /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe again;
mysqld daemon not started

自分で試したこと

mysql -u rootと入力すると

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

というエラーが発生

mysqlのサーバーが動いていないのではないかと考えたが、

➜  dictation_app git:(master) ✗ mysql.server start 
Starting MySQL
 * 
➜  dictation_app git:(master) ✗ /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
cat: /var/run/mysqld/mysqld.pid: 許可がありません
rm: '/var/run/mysqld/mysqld.pid' を削除できません: 許可がありません
2022-02-01T05:41:01.994696Z mysqld_safe Fatal error: Can't remove the pid file:
/var/run/mysqld/mysqld.pid.
Please remove the file manually and start /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe again;
mysqld daemon not started
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied

のようなエラーになってしまった。エラーの指示通りに権限を与えると

➜  dictation_app git:(master) ✗ /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
rm: '/var/run/mysqld/mysqld.pid' を削除できません: 許可がありません
2022-02-01T05:54:09.215517Z mysqld_safe Fatal error: Can't remove the pid file:
/var/run/mysqld/mysqld.pid.
Please remove the file manually and start /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe again;
mysqld daemon not started
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied


のようにcat: /var/run/mysqld/mysqld.pid: 許可がありませんが消えただけ。手動でファイルを消すように指示されたので/var/run/mysqld/mysqld.pid.
を消してもう一度mysql.server start

➜  dictation_app git:(master) ✗ mysql.server start       
Starting MySQL
./home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Permission denied
/home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe: 144: cannot create /var/log/mysql/error.log: Permission denied
 * The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

ここで詰まって進めません。

その他

・ubuntu20.04を使っています
・再インストールと再起動は試しました
・ubuntuの記事があまりなかったので情報を集めるのが難しく、とりあえず別のOSの記事も参考にしています。
・mysqlは最新です
・なぜかsudo mysql.server start をすると

sudo: mysql.server: コマンドが見つかりません
となってしまいます。

・入門者なので変な操作をしているかもしれません
何かアドバイスがあれば教えていただきたいです。よろしくお願い致します。

0

1Answer

Comments

  1. @senseIY

    Questioner

    回答していただきありがとうございます。コマンドを入力したところ

    ```
    ➜ dictation_app git:(master) ✗ sudo systemctl enable --now mysql
    Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable mysql

    ```

    と表示されました。また、もう一度mysql.server start と入力しても同じエラーが表示されたままです。さらにsystemctl status mysql.serviceを入力すると以下のようになりました。


    ```
    ● mysql.service - MySQL Community Server
    Loaded: loaded (8;;file://sense-iy-CFSZ5-3/lib/systemd/system/mysql.s>
    Active: active (running) since Tue 2022-02-01 14:21:55 JST; 2h 17min >
    Docs: 8;;man:mysqld(8)^Gman:mysqld(8)8;;^G
    8;;http://dev.mysql.com/doc/refman/en/using-systemd.html^Ghtt>
    Main PID: 23590 (mysqld)
    Status: "Server is operational"
    Tasks: 38 (limit: 9330)
    Memory: 343.5M
    CGroup: /system.slice/mysql.service
    └─23590 /usr/sbin/mysqld

    2月 01 14:21:54 sense-iy-CFSZ5-3 systemd[1]: Starting MySQL Community Ser>
    2月 01 14:21:55 sense-iy-CFSZ5-3 systemd[1]: Started MySQL Community Serv>


    ```


    ```
    dictation_app git:(master) ✗ ps aux | grep mysql
    mysql 23590 0.3 4.7 2269384 383224 ? Ssl 14:21 0:35 /usr/sbin/mysqld
    sense_iy 29465 0.0 0.0 18720 2464 pts/0 S+ 16:50 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox mysql

    ```
  2. 「systemctl enable --now mysql」
    これは、起動時にmysqlを起動するようにして、さらに今も起動させるおまじないです。
    そのあとの確認された内容で起動しているようですから、これでmysql自体は起動できています。

    引きつづき、mysql -u root でクライアントからアクセスできますか?

  3. @senseIY

    Questioner

    コマンドを入力しても

    ```
    ➜ dictation_app git:(master) ✗ mysql -u root
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

    ```
    となって一番最初のエラーに戻ってしまいます。ですがmysql自体は起動できているようなので、それをヒントにもう一度出たエラーで調べ直してみます。
  4. mysqlの設定でsocketが無効になっているのかもしれませんね。そのあたりのキーワードで検索すると色々出てくると思います。
  5. @senseIY

    Questioner

    回答していただきありがとうございます。教えていただいたことをヒントにもう一度調べてみます。
  6. @senseIY

    Questioner

     なんとかエラーを解決できました。どうやらbrewでmysqlをインストールしているにもかかわらず、別の方法でもう一度mysqlをインストールしていたのが問題だったようです(おそらく2つインストールしていた?)。brew以外のmysqlをすべて削除したらうまく動きました。最初の頃にmysqlをインストール→設定を適当にコピペ→分からなくなり別のやり方で再インストールしていた時期があったため、brewでインストールしていたのを忘れていました。今回は貴重なお時間を割いていただきありがとうございました。
     この記事を見てくださっている方の参考になれば幸いです。

Your answer might help someone💌