2012-05-23 4 views
2

Lorsque je connecte ma base de données par un script php il montreImpossible de se connecter: Impossible de se connecter au serveur MySQL local par socket '/var/lib/mysql/mysql.sock' (2)

Could not connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

le nom d'utilisateur et le mot de passe sont corrects.

quelque chose de my.cnf

[client] 
#password  = your_password 
port   = 3306 
socket   = /data/mysql/mysql.sock 

# Here follows entries for some specific programs 

# The MySQL server 
[mysqld] 
port   = 3306 
socket   = /data/mysql/mysql.sock 
skip-external-locking 

ps: je change pour socket = /var/lib/mysql/mysql.sock le script php dit encore "/var/lib/mysql/mysql.sock" ?. puis exécutez

mysqladmin -u root -p status 

il montre

mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' 
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! 




service mysqld restart 


mysqld: unrecognized service 
+1

L'erreur que vous suggère vous essayez d'utiliser '/ var/lib/mysql/mysql.sock' alors que votre configuration suggère que le socket est situé à '/ data/mysql/mysql.sock' ... – eggyal

+0

je le change en socket = /var/lib/mysql/mysql.sock les erreurs sont toujours là – run

+0

Sur un système Debian, la commande pour redémarrer MySQL le serveur est 'service mysql restart' –

Répondre

1

Q: Votre my.conf dit encore "/var/lib/mysql/mysql.sock"?

Q: Le répertoire "/ var/lib/mysql" existe-t-il? Q: Est-ce que votre utilisateur mysql (ou mieux, le groupe mysql) a l'autorisation d'écrire?

Si oui, essayez de redémarrer mysql et voyez ce qui se passe.

ADDENDA:

Une autre chose à faire est de créer un mysql.sock et explicitement donner permissions:

cd /var/lib 
mkdir mysql 
touch mysql/mysql.sock 
chown -R mysql:mysql mysql 
+0

je suis désolé. Je suis un débutant de Linux. Je ne sais pas comment vérifier votre 3Q. pourriez-vous me dire comment les vérifier. merci beaucoup – run

+0

1) sudo bash # devient "root", 2) ls -ld/var/lib/mysql # vérifie si le répertoire existe et les permissions du répertoire – paulsm4

+0

ls:/var/lib/mysql: Aucun fichier ou répertoire – run

Questions connexes