2010-06-12 10 views
1

Ceci est un problème récent ... MySQL fonctionnait et il y a quelques jours, j'ai dû faire quelque chose. J'ai supprimé MySQL et j'ai essayé de le réinstaller en utilisant le fichier .dmg. Le fichier est créé mysql.sock jamais et je reçois les messages d'erreur suivants:problème de socket avec MySQL

Hristo$ mysql 
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) 

J'ai aussi essayé arrêter Apache et l'installation, mais Apache m'a donné une erreur ... Je ne sais pas si cela est bon ou mauvais :

Hristo$ sudo apachectl stop 
launchctl: Error unloading: org.apache.httpd 

J'ai également essayé l'installation de MacPorts, mais le fichier de socket n'a toujours pas été créé. Je ne sais pas vraiment quoi faire et je ne veux pas réinstaller Snow Leopard et commencer à partir de zéro:/

J'ai également essayé d'installer la version 32 bits et même deal. Pas de chance.

Enfin ... J'ai essayé de faire l'installation de source, mais quand je suis à l'étape de configuration, je reçois l'erreur suivante:

-bash: ./configure: No such file or directory 

Le fichier est « mysql-5.1.47-osx10.6- x86_64.tar.gz "donc je pense que c'est le bon fichier pour l'installation de la source et oui j'ai un système 64 bits. Je ne sais plus quoi faire.

Des idées?

Merci, Hristo

Edit: Voici ce que je reçois après l'installation de MySQL en utilisant le paquet .dmg ... Je ne sais pas vraiment ce que cela signifie? MySQL fonctionne-t-il ou non? Je crois que non?

Hristo $ ps auxw | grep mysql Hristo 1599 0,2 0,0 2425520 96 S000 R + 03:39 0: 00,00 grep mysql

Répondre

3

Enfin compris ...J'ai essayé à peu près tout, mais tout est descendu à la suppression de chaque instance de MySQL et il me manquait quelque chose quand je supprimais tout. Pour désinstaller complètement MySQL:

sudo rm /usr/local/mysql 
sudo rm -rf /usr/local/mysql* 
sudo rm -rf /Library/StartupItems/MySQLCOM 
sudo rm -rf /Library/PreferencePanes/My* 
sudo rm -rf /Library/Receipts/mysql* 
sudo rm -rf /Library/Receipts/MySQL* 
sudo rm /etc/my.cnf 

En outre, vous devez supprimer la ligne « MYSQLCOM=-YES- » du fichier /etc/hostconfig. Mon problème était que je n'ai jamais supprimé le fichier /etc/my.cnf! Si vous ne supprimez pas ce fichier, vous aurez apparemment des problèmes de socket! Donc c'était le coupable. Ensuite, je viens de faire une installation régulière à partir du fichier .dmg à partir du site Web de MySQL et tout fonctionne :)

Merci à tous pour vos suggestions et le temps!

+0

Merci, cela a fonctionné pour moi après que je suis dans un désordre. –

1

L'emplacement de prise est défini dans my.cnf

Le client mysql et le serveur doivent utiliser le même chemin de courant pour se connecter. Assurez-vous que le client mysql et le serveur utilisent le même fichier de configuration ou modifient la configuration afin qu'ils utilisent le même socket.

Vous pouvez également faire which mysql pour vous assurer que vous utilisez le bon binaire mysql.

1

choses à vérifier:

  1. MySQL est en cours d'exécution même? ps auxw | grep mysql. Si rien ne s'affiche, cela ne fonctionne pas, ce qui explique l'absence d'un socket.
  2. Si apache ne fonctionnait pas, une erreur serait générée en essayant de l'arrêter. ps auxw|grep httpd doit afficher un nombre de processus fils httpd si Apache est en cours d'exécution. S'il ne peut pas démarrer, il expliquera pourquoi dans le journal des erreurs, dont vous pouvez obtenir l'emplacement à partir du fichier httpd.conf.
  3. Le nom du fichier mysql .tar.gz que vous avez téléchargé suggère qu'il s'agit en fait d'une version binaire précompilée. En tant que tel, il n'y aurait pas de script 'configure'. mysql.com n'a pas de fichier source spécifique à MacOS. Il n'y a qu'un .tar.gz here générique (sélectionnez 'Source Code' dans la liste déroulante) pour les systèmes non-Linux.
+0

Merci ... Je n'ai jamais vu l'option "Code Source" dans la liste déroulante ... J'essaye l'installation maintenant! – Hristo

+0

./configure file existe maintenant et son 'making' – Hristo

+0

est arrivé au point de définir le mot de passe root ... mais je reçois toujours l'erreur sur le socket. Hristo $ mysqladmin -u root mot de passe "newpassword" /usr/local/mysql/bin/mysqladmin: connexion au serveur à 'localhost' échouée erreur: 'Impossible de se connecter au serveur MySQL local via socket'/var/mysql/mysql.sock '(2)' Vérifiez que mysqld est en cours d'exécution et que le socket: '/var/mysql/mysql.sock' existe! – Hristo