2012-01-20 15 views
1

Mysqlサーバを再起動しようとしましたが、私のために動作しませんでした。私は、サーバが稼動しており、フォルダ/var/lib/mysql/のアクセス権が正しいことを確認しています(777)。ソケット '/var/lib/mysql/mysql.sock'を使ってローカルMySQLサーバに接続できません

私がファイルmysql.sockを開こうとしたとき、ファイルが壊れている可能性があるというエラーが表示されました。

私はDBにログインする手助けをしてください。前もって感謝します。

これは、my.cnfのは

datadir=/var/lib/mysq 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket   = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
skip-external-locking 
+0

は/etc/mysql/my.cnfファイルの内容と/mnt/data/*.errログを提供するので、より簡単にお手伝いします。 mysqladminなどでログインできるかどうかも確認してください。 –

+0

localhostアドレスを明示的に試してください:127.0.0.1 – dave

+0

mysql -h 127.0.0.1 -root -pも試しましたが、うまくいきませんでした。 – MUFC

答えて

0

mysqlは以下のコマンドで実行されているかどうかをチェックすることができますどのように見えるかです: のmysqladmin -uルート-p状況を

また、MySQLのフォルダにアクセス権を変更してみてください。あなたがローカルで作業している場合は、試すことができます:

にsudo chmodの-R 777の/ var/libに/ mysqlの/

+0

は、私はそれのすべてを試みたが、何もOK。これ 編集しな/etc/my.cnfファイルを試してみて、 [mysqldを] ソケット=の/ var/libに/ mysqlの/指定 – MUFC

+0

作業していませんmysql.socket [クライアント] ソケット=/var/lib/mysql/mysql.socket そしてmysqlサーバ( "etc/init.d/mysql restart")を再起動してください。 –

0

あなたのmy.cnfから与えたもののよう。

両方のソケットが同じファイルを指していることを確認してください。紛失しています。確認してください。私はあなたの両方のソケットが別のファイルを指している

datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
#Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket   = /var/lib/mysql/mysql.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
skip-external-locking 

を変更したとして、それを変更し 。

試してみてください。

0

私はずっと前に同じ問題がありました。私は私のマシンを更新し、ソケットは機能しなくなりました。私の解決策は、すべてのプロセスで開くことができる場所にソケットを変更することでした。

/etc/mysql/my.cnfで

(またはこのファイルがある)

[client] 
    port = 3306 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock # This location did it for me 


    [mysqld_safe] 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock 
    ... 

    [mysqld] 
    ... 
    #socket = /var/run/mysqld/mysqld.sock 
    socket = /tmp/mysqld.sock 
    ... 

すべてのプロファイルが同じソケットを使用することが重要と思われます。また、/etc/mysql/debian.cnfを変更してソケットを更新することもできます。お役に立てれば!

3

mysql.sockが作成され、どのプロセスでもアクセスできるように、mysqldを起動する必要があります。実行中かどうかを確認してください。

私は同じ問題を抱えていて、mysqldが実行されているかどうかを確認しましたが、そうでないことがわかったので、mysqldを起動しました。それは問題を解決するはずです。

+0

あなたが助けました!ちょうどの場合: 'sudo service mysqld start' – Edenshaw

0

mysqldサービスが実行されていない限り、mysql.sockファイルは/ var/lib/mysqlディレクトリに存在しません。 rootユーザとしてmysqld startサービスを使用してmysqldを起動してください。

そして、シェルからmysqlを実行してmysqlデータベースを起動します。これは私のために同じエラーメッセージでうまくいった。

0

ディレクトリ内のファイルだけでなく、/var/lib/mysqlディレクトリのファイルに対するアクセス許可、所有者、グループを確認したい場合があります。

/var/lib/mysqlディレクトリを新しいマシンに移動したとき、同様の問題が発生しました。コピー中に権限が変更され、所有者とグループがrootに変更されました。所有者とグループ(chown user:group file/directory)と権限(chmod <value> filename/s)をMySQL管理者アカウントに変更すると、問題が解決しました。

関連する問題