Rechercher : dans
Par :

Mysql socket

Dernière réponse le 7 aoû 2008 à 12:49:25 Olivier, le 21 jui 2005 à 23:44:25 
 Signaler ce message aux modérateurs

Bonjour,

j'ai installé php,mysql et apache2. Tous fonctionne sauf lors des script php faisant appel au mysql j'ai une erreure lors de la connection qui me dit:

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/usr/local/mysql/tmp/' (13)


Pourtant mon socket mysql se trouve bien à cette endroit. Quelqu'un peut-il m'aider?

merci d'avance

Meilleures réponses pour « mysql socket » dans :
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
Réinitialiser le mot de passe root de MySQL VoirQue ce soit lors de la première installation ou après la perte du mot de passe principal de MySQL, il est nécessaire de pouvoir modifier le mot de passe administrateur (root) de MySQL. Vous avez perdu le mot de passe root de MySQL ? Pour pouvoir...
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
MySQL - Installation sous Windows VoirPrésentation de MySQL MySQL est un Système de Gestion de Bases de Données (SGBD) fonctionnant sous Linux et Windows. Depuis la version 3.23.19, MySQL est sous Licence GPL (aussi bien sous Linux que Windows), ce qui signifie qu'il peut être utilisé...

1

kinder.surprise, le 22 jui 2005 à 02:08:02

Il y a pas mal de sujets sur ce problème sur google, dis-nous les solutions que tu as déjà essayées afin qu'on ne répète pas ce que tu as déjà écrémé
gnagnagna

Répondre à kinder.surprise

2

[Dal], le 22 jui 2005 à 10:20:51
  • +3

Olivier,

Profites-en aussi pour nous dire quelle est ta distribution Linux... et puis donnes nous le résultat de

ps axl | grep mysql

et

mysql -p

Dans une console sous root, histoire de vérifier que ton démon mysql est bien lancé.


Dal

Répondre à [Dal]

3

Olivier, le 22 jui 2005 à 12:02:24

J'utilise linux mandrake 10.2 edition limited en dvd, sinon je n'ai pas encore essayer tes commandes mais je suis sur que mysql est lancé car j'arrive à voir les tables mysql par la console mais je vais essayer les commandes.

Répondre à Olivier

4

Olivier, le 22 jui 2005 à 13:06:56

[root@localhost ~]# ps axl | grep mysql
4     0 17052     1  24   0   2576  1352 wait   S    pts/1      0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.pid
4   501 17078 17052  18   0 360984 15052 select Sl   pts/1      0:00 /usr/local/mysql//libexec/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/localhost.pid --skip-locking --port=3306 --socket=/usr/local/mysql/tmp/mysql.sock
0     0 17088 17015  19   0   1936   732 -      R+   pts/1      0:00 grep mysql


[root@localhost ~]# /usr/local/mysql/bin/mysql -u CrooOl -p mysql
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.25-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


voila le résultat des commandes

Répondre à Olivier

5

asevere, le 22 jui 2005 à 14:50:12

Salut,

A tout hasard, je sais que j'ai eu ce probléme, mais je ne sais plus comment ça c'est résolu, tu peux toujours tenter dans /etc/php.ini de mettre à la ligne:
mysql.default_socket
mysql.default_socket =mysql.sock

Il se peut que php cherche un fichier mysql.socket par defaut.

Une belette, un lapin !?
C'est pas normal!

Répondre à asevere

8

Olivier, le 22 jui 2005 à 15:26:52

Oui c'est bien sa le prob php prend mysql.socket par défault mais même avec mysql.sock dans php.ini sa ne change rien j'ai tjs dans mysql de phpinfo() la ligne

MYSQL_SOCKET 	/usr/local/mysql/tmp/mysql.socket

et c'est
MYSQL_SOCKET 	/usr/local/mysql/tmp/mysql.sock
qu'il faudrait. Comment faire alors que lors de la compilation j'ai déja mis
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock

Répondre à Olivier

6

kinder.surprise, le 22 jui 2005 à 15:00:17

Ton firewall bloquerait pas le 3306 des fois?
gnagnagna

Répondre à kinder.surprise

7

Olivier, le 22 jui 2005 à 15:14:16

J'ai pas de firewall sur le réseau local donc je ne pense pas que ce serait sa et sur le routeur le port est ouvert pour le serveur actuel

Répondre à Olivier

9

Olivier, le 22 jui 2005 à 15:34:39

J'avance mais je ne suis pas encore au finale j'ai réussi à avoir les même socket dans php et mysql en changant dans my.cnf mais sa ne va tjs pas lors des connection mysql par php :-( .

Répondre à Olivier

10

[Dal], le 22 jui 2005 à 17:53:57

Salut Olivier,

Donc il semble bien que ton serveur MySQL soit lancé.

Dans son paramétrage mysql permet de restreindre l'accès aux bases de données (y compris à la connexion) à certains utilisateurs seulement ou à certains hôtes seulement. As-tu spécifié des restrictions particulières ? Ton Apache est-il sur le même hôte que le serveur MySQL ?

Voir http://www.databasejournal.com/features/mysql/article.php/33­11731

et les permissions définies dans les tables "user", "db", et "host".


Dal

PS : sur une autre piste... a tout hasard.. peux tu nous poster le résultat de
ls -l /usr/local/mysql/tmp/mysql.sock*

Répondre à [Dal]

11

 Blaise BAKEYALA, le 7 aoû 2008 à 12:49:25

Bonjour,

Pour ce problème, il suffit de trouver le chemin sur lequel se trouve le fichier mysql.sock
Fichier trouveé dans "/usr/local/mysql/". Ensuite, vous créez un lien sur le répertoire "/tmp" avec la commande suivante:
$ ln -s /usr/local/mysql/mysql.sock /tmp
Et ça marche, vous avez plus à lancer la commande "mysql -uroot -p<password> --socket=/usr/local/mysql/mysql.sock";
vous lancerez directement la commande "mysql -uroot -p<password>"

Cordialement

Répondre à Blaise BAKEYALA