Difference between revisions of "MySQL"
Line 18: | Line 18: | ||
Si ça ne fonctionne que sous root, c'est que l'usager web n'a pas les droits suffisants pour accéder au socket de MySQL. Il faut alors permettre l'accès au socket mysql par le groupe, et ajouter l'usager web au groupe mysql: |
Si ça ne fonctionne que sous root, c'est que l'usager web n'a pas les droits suffisants pour accéder au socket de MySQL. Il faut alors permettre l'accès au socket mysql par le groupe, et ajouter l'usager web au groupe mysql: |
||
+ | |||
+ | <pre> |
||
+ | ls -al /var/run/mysql |
||
+ | total 512 |
||
+ | drwxrwx--- 2 mysql mysql 80 2008-09-10 21:48 . |
||
+ | drwxr-xr-x 8 root root 888 2008-09-09 00:49 .. |
||
+ | srwxrwxrwx 1 mysql mysql 0 2008-09-10 21:48 mysql.sock |
||
+ | </pre> |
Revision as of 20:27, 11 September 2008
Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (13)
Le code d'erreur 13 signifie "Permission denied".
Si ce message d'erreur survient dans un script PHP éxécuté sous Apache, essayer d'éxécuter le script suivant en tant qu'usager root et en tant qu'usager du serveur web:
<?php $connection = mysql_connect('localhost', 'user', 'password', 'database'); if (mysql_errno()) { printf("Connection failed: %s\n", mysql_error()); } else { printf("Connection succeeded\n"); } ?>
Si ça ne fonctionne que sous root, c'est que l'usager web n'a pas les droits suffisants pour accéder au socket de MySQL. Il faut alors permettre l'accès au socket mysql par le groupe, et ajouter l'usager web au groupe mysql:
ls -al /var/run/mysql total 512 drwxrwx--- 2 mysql mysql 80 2008-09-10 21:48 . drwxr-xr-x 8 root root 888 2008-09-09 00:49 .. srwxrwxrwx 1 mysql mysql 0 2008-09-10 21:48 mysql.sock