以下のエラーが発生します。
エラー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(更新
さて、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)
私の問題は、Ubuntu 12.04でプロセスが実行されているかどうかを確認することで解決しました。
ps ax | grep mysql
すると、実行されていないという答えが返ってきたので、次のようにしました。
sudo service mysql start
を試してみたり
sudo /etc/init.d/mysql start
私のシステムに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 を試したところ、エラーなく実行されました。 これであなたの問題が解決することを願っています。
ディレクトリが存在しない場合は、作成することを忘れないでください