51

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

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 経由でアクセスしようとすると上記のエラーが発生しますmysql -u root -p

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

    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)

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

ありがとう

アップデート

さて、glglglのソリューションを試してみましたが、再起動後、エラーログに次のように表示されます:

    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)
4

36 に答える 36

15

これを理解するのに何年もかかりましたが、同じことを試してみてください-

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 を構成する

須藤ナノ /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

于 2016-09-10T04:56:25.037 に答える
10

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

[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
于 2013-12-25T02:39:10.590 に答える
7

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

ソケット経由でローカルの MySQL サーバーに接続できません

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

MariaDB を起動するのを忘れているためです。ターミナルでこのコマンドを入力するだけです。

systemctl start mariadb.service
于 2015-11-30T04:24:26.197 に答える
4

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*

そして、それをもう一度再インストールしました

sudo apt-get アップデート

sudo apt-get install mysql-server

そしてそれを始めました

mysql -u ルート -p

続いてパスワード

于 2018-05-30T14:02:06.177 に答える
3

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

既存のすべての回答と既存のソリューションをすべて確認しましたが、私にとって問題は、var/run/mysqlフォルダーに対するユーザーのアクセス許可が正しくないことでした。

そのフォルダのユーザー権限を確認したところ、に設定されていましたroot。私がmysql:mysql問題に変わったら。

したがって/var/run/mysqld、ユーザー権限を次のように入力して変更します。

chown -R mysql:mysql .
于 2016-11-27T15:18:44.603 に答える
2

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

手順 1. ターミナルで実行

ps斧 | grep mysql

結果は

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

11514 ポイント/0 S+ 0:00 grep mysql

手順 2. もう一度これを入力します

sudo サービス mysql 開始

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

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

于 2014-08-23T08:27:10.773 に答える
2

my.cnf を変更した後、同じ問題が発生しました。次の手順でこの問題を解決しました。

まず、error.log の場所を見つけるには、'my.conf' を調べます。

2 : error.log を調べたところ、次のメッセージが見つかりました。

"unknown variable 'default-......'" ..... " mysqld_safe Starting mysqld darmon with from /var/lib/mysql "

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

これが役立つことを願っています。

于 2014-03-03T03:43:53.190 に答える
1

max_connectionsinファイルを変更すると、この特定のエラーが発生する可能性がもう 1 つあり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うまくいきました。その特定のセグメントを削除した後、次のコマンドが使用されました。MySQL サーバーが起動し、以前と同じように実行されます。

sudo /etc/init.d/mysql start
于 2015-02-08T03:01:18.293 に答える
0

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

お役に立てれば。

于 2016-08-06T20:38:45.960 に答える
0

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

于 2015-10-07T13:46:03.677 に答える
0

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

正常に動作しているということです。

于 2015-07-26T21:49:09.483 に答える
0

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

于 2016-04-02T11:22:10.563 に答える
0

近くで見ると違いがわかります:

  • サーバーはリッスンします/var/run/mysqld/mysqld.sock
  • クライアントは接続を試みます/var/run/mysqld/mysql.sock

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

于 2013-10-29T13:04:14.630 に答える
0

私もこのエラーで立ち往生しており、それを見つけるのにほぼ 3 時間かかりました。

まず、conf ファイルに加えた変更を思い出してから、変更を取り消してファイルを保存し、mysql を起動します。conf ファイルに変更を加えたい場合は、mysql サーバーを停止し、必要な値を変更してから mysql を再起動します。

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

于 2017-05-18T13:38:16.553 に答える
-1

次のことを行う必要があります。

ls -lart /var/run/mysqld/
mkdir /var/run/mysqld
touch /var/run/mysqld/myssqld.sock
ls -lart /var/run/mysqld/
chown -R mysql /var/run/mysqld/
ls -lart /var/run/mysqld/
/etc/init.d/mysql restart

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

mysql -u root -p
mysql> show databases;
于 2015-02-01T12:00:24.933 に答える
-4
rm -rf mysql.sock

サービス mysqld 再起動

于 2014-10-27T14:10:08.760 に答える