

### 解決したいこと

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

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

[code]

    #１つめ
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
    
    #2つめ
    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).
    
[/code]

### 自分で試したこと

`mysql -u root` と入力すると

[code]

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

というエラーが発生

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

[code]

    ➜  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
    
[/code]

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

[code]

    ➜  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
    
[/code]

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

[code]

    ➜  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).
    
[/code]

ここで一旦mysqlが動いているか確認するため

[code]

    ➜  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
    
[/code]

もう一度やっても上手くいかず。

[code]

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

また今の状態は

[code]

    ➜  dictation_app git:(master) ✗ 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
    
[/code]

ここで、他のサイトを参考にもう一度pidファイルを作ることにした

[code]

    sudo touch sense-iy-CFSZ5-3.pid
    
[/code]

その後権限変更

[code]

    #なぜか参考にしたサイトに書かれていた通りにやるとエラーに
    ➜  mysqld sudo chown -R _mysql:_mysql var/run/mysql                  
    [sudo] sense_iy のパスワード: 
    chown: ユーザー指定が不正: `_mysql:_mysql'
    
    #アンダーバー消したらうまくいったけど合っているか不明。なぜこのコマンドをして権限を変更するのかもよくわからないけどとりあえず実行してみた。もともとrootだった部分がmysqlになった。
    ➜  mysqld sudo chown -R mysql:mysql /var/run/mysqld
    ➜  mysqld ls -l sense-iy-CFSZ5-3.pid 
    
    -rw-r--r-- 1 mysql mysql 0  2月  1 17:02 sense-iy-CFSZ5-3.pid
    
[/code]

しかしmysql -u
rootしても変化なし。そもそも指示にしたがって消したのにもう一度作るのは少しおかしいのではと考えてその後いろいろなサイトを見るも、mariaDB（１度もインストールしてないです）関連の記事が多くどれが有効なのか分からず、ここで詰まって進めません。

### その他

・ubuntu20.04を使っています。  
・再インストールと再起動は試しました。  
・sqlite3を使っていたときはうまく行きました。現在はアンインストールしています。  
・もともとsqlite3を使っている途中のディレクトリででmysqlに変えたためそれが原因かと思ったので、０から作り直しました。なのでsqlite3は関係ないと思います。  
・ubuntuの記事があまりなかったので情報を集めるのが難しく、とりあえず別のOSの記事も参考にしています。  
・mysqlは最新です。  
・なぜかsudo mysql.server start をすると  
sudo: mysql.server: コマンドが見つかりません  
となってしまいます。  
・mysql自体は起動しているようです。  
・入門者なので変な操作をしているかもしれません。

何かアドバイスがあれば教えていただきたいです。よろしくお願い致します。

### 追記

エラーに

[code]

    Please remove the file manually and start /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe again;
    
[/code]

とあったので実行。しかしこのコマンドで検索しても２件しかヒットしなかったのでどんなコマンドか分からないけど、とりあえずやってみた。

[code]

    ➜  dictation_app git:(master) ✗ sudo /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/bin/mysqld_safe
    2022-02-01T10:46:07.812058Z mysqld_safe Logging to '/var/log/mysql/error.log'.
    2022-02-01T10:46:07.847246Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    2022-02-01T10:47:48.265914Z mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
    
[/code]

変化なしでした。

### 追記

mysqlはこちらのサイトを参考に行いました。  
<https://self-
development.info/ubuntu-20-04%E3%81%AB%E6%9C%80%E6%96%B0%E7%89%88%E3%81%AEmysql-8-0%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/>  
最後までこのサイトの通りに行いました。ですが、最初はこのエラーの解決方法が全く検討がつかなかったため、インストールしていろいろ設定をいじってはよくわからなくしてしまう→とりあえず消して再インストールという作業を繰り返していました。そして、初めてmysqlをダウンロードしたときは、いろいろな記述をみて多く書かれている内容を実行するといった形でインストールを行っていました。なので１つのサイトにだけ参考にしてインストールを行ったわけではないです。ただ、https://qiita.com/hkusu/items/cda3e8461e7a46ecf25d  
この記事と同じような方法で

[code]

    $ brew update
    $ brew install mysql
    
[/code]

このコマンドを使ったことは間違いないです。もしかすると、このときにインストールした方法がエラーの原因なのかもしれません。


CC BY-SA 4.0
2022-02-01T11:18:01.130
86073
2022-02-04T08:08:42.130
2022-02-01T13:03:17.610
51193
51193
question
mysql ubuntu
mysqlでmysql -u root してもエラーになってしまうので解決したい


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


CC BY-SA 4.0
2022-02-04T08:08:42.130
86141
2022-02-04T08:08:42.130
51193
86073
answer