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例外に関する問題、それを解決する方法。
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である必要があります。他に何も考えられない。