web-dev-qa-db-ja.com

エラー2002(HY000):ソケット '/var/run/mysqld/mysql.sock'を介してローカルMySQLサーバーに接続できません(2)

このエラーが発生しています

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

私はubuntuのコマンドライン経由でmysqlを起動することができましたが

mysql stop/waiting
mysql start/running, process 17691

ただし、サイトにアクセスしようとすると、mysql -u root -p経由でmysqlにアクセスしようとすると、データベース接続エラーと上記のエラーが発生します。

エラーログを確認しましたが、これを見ました

    131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
    131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
    131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
    131029 12:53:36 InnoDB: Completed initialization of buffer pool
    131029 12:53:36 InnoDB: highest supported file format is Barracuda.
    131029 12:53:38  InnoDB: Waiting for the background threads to start
    131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    131029 12:53:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
    131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
    131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

このエラーが表示されるのは初めてで、この問題を解決する方法がわかりません。ここで少し助けてください。

ありがとう

UPDATE

OK

    131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
    131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
    131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
    131029 13:17:38 InnoDB: Completed initialization of buffer pool
    131029 13:17:38 InnoDB: highest supported file format is Barracuda.
    131029 13:17:40  InnoDB: Waiting for the background threads to start
    131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    131029 13:17:41 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
    131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.  
    131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
    131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
39
user2028856

プロセスがUbuntu 12.04で実行されているかどうかを確認して、私の問題を解決しました

ps ax | grep mysql

その後、答えはそれが実行されていなかったということでしたので、私はやった

Sudo service mysql start

または試す

Sudo /etc/init.d/mysql start
48

まず、mysql-serverがインストールされていることを確認してください。 mysql-serverのインストール時に同じエラーが発生しますが、どういうわけか破損しています。 mysql completelyをアンインストールして再インストールすることで、このトリックを実行します。

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client
38
johnny

システムにxamppをインストールしたときに同じ問題が発生しました。 mysqlサーバーは/var/run/mysqld/mysqld.sockを探しますが、mysql.sockファイルはxamppフォルダーにあったので使用しました

 find / -name '*.sock'

mysql.sockファイルを見つけて使用する

ln -s <the file location> /var/run/mysqld/mysqld.sock

* .sockファイルへのリンクを取得するには、mysqlを試行しましたが、エラーなしで実行されました。これで解決できることを願っています。

ディレクトリが存在しない場合は作成することを忘れないでください。

12
krgaurav

クライアントはサーバー設定と一致するように設定する必要があります。

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
10
feuyeux

これは私が理解するのに年齢を要しましたが、あなたは同じことを試すことができます-

1-更新とアップグレード

Sudo apt-get update
Sudo apt-get upgrade

2-MySQLサーバーとクライアントをパージします(インストールされている場合)。

Sudo apt-get purge mysql-server mysql-client

3-MySQLサーバーとクライアントを新規インストールします

Sudo apt-get install mysql-server mysql-client

4-MySQLをテストする

mysql -u root -p
> enter root password

*** /var/run/mysqld/mysql.sockで見つからないソケットを取得する必要があります

4-viのnanoでmysqld.cnfを構成する

Sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Bind-addressを127.0.0.1からlocalhostに変更します

bind-address            = localhost

**書き込みと終了

5-MySQLを再起動します

Sudo /etc/init.d/mysql restart

6-mysqlを確認する

mysql -u root -p
> enter root password

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)

Copyright (c) 2000, 2016, 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>

ここでmysql cliにアクセスする必要があります。

お役に立てれば

Code.Ph0y

9
Code Ph0y

最近、mysql ERROR 2002 (HY000)でこのエラーに直面しました:

ソケットを介してローカルMySQLサーバーに接続できません

'/var/lib/mysql/mysql.sock'(111)

私はmariadbを起動するのを忘れたからです。 urコマンドでこのコマンドを入力するだけです。

systemctl start mariadb.service
4
Aung Kyaw Nyunt

Mysql-serverが欠落している可能性があります。を使用してインストールする

Sudo apt-get install mysql-server
3
Ranju R

これは、異なる解決策が提案された古いトレッドですが、それらのどれも私にとってはうまくいきませんでした。私はしばらくの間、私として苦労した誰かを助けることを願って、この答えを追加しています。

私はすべての既存の回答とすべての既存のソリューションをチェックしましたが、私にとっての問題はvar/run/mysqlフォルダーに対する不正なユーザー権限でした。

そのフォルダーのユーザー権限を確認し、rootに設定されました。 mysql:mysqlに変更すると、問題はなくなりました。

/var/run/mysqldを入力し、ユーザーのアクセス許可を次のように変更します。

chown -R mysql:mysql .
3
Simo Endre

私はmysqlに接続されているすべてのものを削除しました

Sudo apt-get remove --purge --auto-remove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7

Sudo rm -r/etc/mysql */var/lib/mysql */var/log/mysql *

そして、再びそれを再インストールしました

須藤apt-getアップデート

Sudo apt-get install mysql-server

そして、それを開始しました

mysql -u root -p

続いてパスワード

3
schlusie

MySQLサーバーを再インストールする必要はありません同じ問題に直面していましたが、これらのコマンドを実行することで問題を解決しました。

  1  ps -A|grep mysql
  2  Sudo pkill mysql
  3  ps -A|grep mysqld
  4  Sudo pkill mysqld
  5  Sudo service mysql restart
  6  mysql -u root -p
3

フォローしているWellington Lorindo投稿。そして、私の問題は解決されました。

Steps 1.ターミナルで実行

ps ax | grep mysql

結果は

11200? ssl 0:01/usr/sbin/mysqld

11514 pts/0 S + 0:00 grep mysql

Steps 2.再度これを入力

Sudoサービスmysqlの開始

そして問題は解決しました。

ありがとうウェリントン・ロリンド

2
Sachin

Debianの場合これは私にとってはバインドの問題だったので、bind-addresslocalhostから0.0.0.0に変更することが助けになりました。

vim /etc/mysql/my.cnf 

bind-address = 0.0.0.0

2
Achu

これは私のために働いた

Sudo /etc/init.d/mysql start

最初にこれを試しましたが、なぜこのように機能しないのか分かりません

Sudo service mysql start
2
aimme

私のシステムでも同じエラーが発生しました。 mysql-serverを削除して再インストールする必要がありました。他の方法ではありません。以下のコマンドを実行してみてください:

  1. Sudo apt-get purge mysql-server
  2. 須藤apt-get autoremove
  3. Sudo apt-get install mysql-server
2
user3898336

My.cnfを変更した後、同じ問題が発生しました。次のステップでこの問題を解決しました。

最初:error.logの場所を見つけるには、「my.conf」を見てください。

2番目:error.logを調べ、次のマッサージを見つけました。

"未知の変数 'default -......'" ..... "mysqld_safe/var/lib/mysqlからmysqld darmonを起動する"

3番目:my.confをデフォルトにリセットしてから再起動すると、この問題は解決しました。

これがお役に立てば幸いです。

2
takechanman

Linuxターミナルで、次の手順を実行しました。

1.まず、インストールされているすべてのmysqlパッケージをリストします

  Sudo dpkg -l | grep mysql

2.リストされたコマンドでリストされたパッケージを削除する

  Sudo apt-get --purge autoremove <package name>

3. mysqlサーバーの再インストール

  Sudo apt-get install mysql-server

これは私のために働いた、これもあなたのために働くことを願っています。

または試してみてください

Sudo apt-get remove --purge mysql-\

その後で再インストール

Sudo apt-get install mysql-server mysql-client
2
Maurice Elagu

私もこの問題に出会いました。 mysql -u root -pパスワードを入力:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

それから、私はselinuxが強制されていることを見つけ、それを無効にしてからmysqldを再起動します。

1
fay

問題がありました。

このプロセスは私のために働いた:

削除プロセス中にNoを選択してデータベースを削除するようにしてください。

Sudo apt-get remove --purge mysql*

Sudo apt-get autoremove

Sudo apt-get autoclean

Sudo apt-get install mysql-server mysql-client
1
Samuel

max_connectionsファイルのmy.cnfを変更すると、この特定のエラーが発生する可能性があります。

また、MySQLサーバーにログインできなかった同じエラーに直面しました。私の場合、問題は、max_connectionsサイズを増やす必要がありました

/etc/mysql/my.cnf

set-variable = max_connections = 5000

この理由により、翌日、MySQLサーバーを開始したときにこのエラーがスローされました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

set-variable = max_connections = 5000セグメントからmy.confセグメントを削除するとうまくいきました。 commandに続く特定のセグメントを削除した後。 MySQLサーバーが以前のように起動して実行されました。

Sudo /etc/init.d/mysql start
1
Dulith De Costa

これは、問題があなたに関連する場合の代替ソリューションを提供します。ディスクドライブがいっぱいの場合、MYSQLサーバー(および他のほとんどのプログラム)を起動できません。ファイルとフォルダーを削除して、Mysqlサーバーを起動できるようにします。

0
rbwilkinson

よく見ると、違いがわかります。

  • サーバーは/var/run/mysqld/mysqld.sockでリッスンします
  • クライアントは/var/run/mysqld/mysql.sockに接続しようとします

どちらかを調整する必要があります。

0
glglgl

この問題は、my.cnfファイルに不必要な変更が加えられたために発生します。 /etc/mysql/my.cnfを動作中のmysqlサーバーのmy.cnfファイルの1つと比較してみてください。

/etc/mysql/my.cnfファイルを新しいmy.cnfファイルに置き換えたところ、これでうまくいきました。

0
sachin

私の場合、問題は「default-character-set = utf8」をmy.cnfに追加したことで、ファイルが破損していました。代わりに、「character_set_server = utf8」の行を変更します。これで解決するはずです。これが役立つことを願っています。

0
alex

/ etc /のmy.cnfファイルのバインドアドレス構成オプションが、localhostまたは仮想サーバーのIPアドレスと同じであることを確認してください。さらに、ソケットファイルを作成するディレクトリが適切に指定されていることを確認してください。

0
share chris

MySQLをインストールまたは更新すると、rootパスワードの作成を求められません。その場合: "debian.cnf" path:/ etc/mysqlというファイルがあります。ユーザー名とパスワードを見つけ、その資格情報でログインし、新しいユーザーとパスワードを作成します。

0
Syed

私は同じ問題を抱えており、ここに投稿されたすべての解決策を試しました:

Sudo apt-get autoremove mysql-server

残念ながら、ubuntu 16.04では機能しません。適切なパッケージをアンインストールするには、以下を行う必要があります。

Sudo apt-get remove mysql-

tabコマンドを使用してオートコンプリートしようとすると、次のパッケージがリストされます。

mysql-client           mysql-client-core-5.7  mysql-server           mysql-server-core-5.7  mysql-workbench        mythes-en-us           
mysql-client-5.7       mysql-common           mysql-server-5.7       mysql-utilities        mysql-workbench-data   

明らかにmysql-server-core-5.7を選択してください:

Sudo apt-get remove mysql-server-core-5.7

そして今、あなたは johnny's answer からこれらのコマンドを使用して、すべてのmysqlをアンインストールし、再インストールすることができます:

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client

今、私はそれを解決し、エラーはなくなっています。

0
Gujarat Santana

2つの主な理由:

1)mysql-serverがインストールされていません!インストールして(mysql-clientではなくmysql-server)、実行する必要があります。

2)デフォルトでインストールされ、実行されています。そのため、XamppまたはLamppを介して再度実行することはできません。停止する必要があります:Sudo service mysql stop

その後、Xamppから起動できます。次のコードを使用して、実行中かどうかを確認できます。Sudo netstat -tap | grep mysql

次のような結果が表示される場合:tcp 0 0 localhost:mysql LISTEN 1043/mysqld

正常に実行されていることを意味します。

0
Aboozar Rajabi

apt-get upgradeを使用してUbuntu 14.04ディストリビューションをアップグレードした後、この問題に遭遇したことに注意してください。この問題を解決するには、mysql-servermysql-clientを完全に削除し、再インストールする必要がありました。

Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get purge mysql-server mysql-client
Sudo apt-get install mysql-server mysql-client

お役に立てれば。

0
Mr. Doomsbuster

私もこのエラーに悩まされており、見つけるのに3時間近くかかりました。

まず、confファイルに加えた変更をリコールしてから、変更を取り消してファイルを保存し、mysqlを起動します。 confファイルに変更を加える場合は、mysqlサーバーを停止してから、目的の値を変更してmysqlを再起動します。

このエラーは、confファイルに加えられた誤った(間違ったキーワードまたは間違った値が割り当てられた)変更が原因で発生します。サーバーが停止しているため、サーバーを実行しているマシンを再起動しても、ほとんどの場合、このエラーはmysqlサーバーを起動します。

0
user7161651

シンプル:これらのコードを実行します:::

 1:: ls -lart/var/run/my*

   2::mkdir /var/run/mysqld

    3::touch /var/run/mysqld/mysqld.sock
    4:ls -lart /var/run/mysqld
    5::chown -R mysql /var/run/mysqld
    6::ls -lart /var/run/mysqld
REstart your mysql server

最後にmysql -u rootまたはmysql -u root -pと入力してEnterキーを押します。ありがとう

0
Chikelu Gerald

これを試して:

Sudo dpkg-reconfigure mysql-server-{version_number}

version_numberはmysqlバージョン番号でなければなりません。例えば

Sudo dpkg-reconfigure mysql-server-5.6

次に、次のようにmysqlにアクセスします。

mysql -u root -p
0
Kon Li