web-dev-qa-db-ja.com

"/ mysql / tmp /"から誤って削除されたmysql.sockファイルを取得する方法

PDO例外が発生しました

PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).

それを解決するために、コマンドを使用してシンボリックリンクを再作成しようとしました。私はLinuxサーバーで作業しています。

 ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock

上記のsqlステートメントを実行したとき、PDO例外による変更はありませんでした。その後、mysql.sock内の"/home/../mysql/tmp/"ファイルを誤って削除しました( "/ tmp"内ではありません)。

ここで、mysql.sockファイルを元に戻すまたは再作成するにはどうすればよいですか。そして、PDO例外に関する問題、それを解決する方法。

4
GIRI
vi /etc/mysql/my.cnf

構成ファイルのtopの下の行が見つかります

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

Mysqld.sockが想定されている場所にあることを確認してください。エラーメッセージ "/tmp/mysql.sock"のパスが好きではありません。

ここにいるので、この行も探してください

bind-address            = 127.0.0.1

離れた場所から接続しようとしている場合は、この行をコメント化してください。

ローカルに接続してみてください(サーバーのターミナルから)

mysql -u root -p

セキュリティが気にならない場合(つまり、マルチユーザー環境ではなく個人用サーバーの場合)、ファイルを誰でも読み取り可能にすることもできます。

chmod a+r /var/run/mysqld/mysqld.sock

上記のすべてが接続の問題を解決するはずです。ファイルを取得するには、mysqlサーバーの新規インストールを実行できます。

apt-get purge mysql-server
apt-get install mysql-server

または、mysql-server .debパッケージをダウンロードして抽出し、そこのどこかにあるはずです。 RHLを使用している場合は、.rpmと同等です。

編集:ファイルの所有権がルートに変更された可能性があるため、ファイルをコピーしていたので、それも確認してください(ls-la/pathを使用)。所有者はmysqlグループmysqlである必要があります。他に何も考えられない。

12