2009-09-17 8 views
189

J'ai accidentellement installé la version PowerPC de MySQL sur mon Mac Intel dans Snow Leopard, et il a installé sans problème mais bien sûr ne fonctionne pas correctement. Je n'ai juste pas fait assez attention. Maintenant, quand j'essaye d'installer la bonne version de x86 il indique qu'il ne peut pas installer parce qu'une version plus nouvelle est déjà installée. Une requête Google m'a amené à effectuer ces actions/supprimer ces fichiers pour le désinstaller:Comment désinstaller MySQL de Mac OS X?

sudo rm /usr/local/mysql 
sudo rm -rf /usr/local/mysql* 
sudo rm -rf /Library/StartupItems/MySQLCOM 
sudo rm -rf /Library/PreferencePanes/MySQL* 
rm -rf ~/Library/PreferencePanes/MySQL* 
sudo rm -rf /Library/Receipts/mysql* 
sudo rm -rf /Library/Receipts/MySQL* 

Et finalement retiré la ligne MYSQLCOM = -YES- de /etc/hostconfig

Ils n'ont pas semblé aider du tout. Je reçois toujours le même message à propos d'une version plus récente. J'ai essayé d'installer une version encore plus récente (la version bêta actuelle) et elle m'a aussi donné le même message à propos d'une version plus récente déjà installée. Je ne peux pas le désinstaller à partir du volet Préfs parce que je n'ai jamais installé le PrefPane également.

+25

sudo rm Les lignes -rf avec des caractères génériques sont un peu irresponsables. Surtout quand vous jetez le filet assez largement pour supprimer quoi que ce soit en commençant par les lettres "My" - MySQL n'a pas la propriété exclusive du mot "My" dans son titre. –

+4

Je vous suggère également de sauvegarder d'abord/usr/local/mysql/data - beaucoup de gens pourraient ne pas réaliser que c'est là que mysql garde ses données sur mac. –

Répondre

207

Essayez de lancer aussi

sudo rm -rf /var/db/receipts/com.mysql.* 
+0

aussi 'sudo rm -rf/Library/StartupItems/MySQLCOM' s'il existe –

3

Vous devez identifier où MySQL a été installé avant de tenter de le supprimer.

J'utilise toujours le Hivelogic guide pour installer sous Mac OS X qui construit MySQL depuis la source. Lors de la configuration de la construction, vous pouvez spécifier un répertoire sous lequel installer MySQL avec le paramètre --prefix. Vous devez vous assurer que le répertoire n'existe pas et tenter d'installer à partir de la source.

./configure --prefix=/usr/local/mysql --with-extra-charsets=complex \ 
--enable-thread-safe-client --enable-local-infile --enable-shared \ 
--with-plugins=innobase 
+0

Old réponse, je sais, mais il est venu dans une [tâche de révision] (http://stackoverflow.com/review/low-quality-posts/13972167). Peut-être que vous devriez ajouter * comment * pour identifier où mysql a été installé, pas seulement comment l'installer. Tel qu'il est, il ne répond pas vraiment à la question. – Mike

6

En plus de la longue liste des commandes de suppression dans votre question, ce qui semble assez complet dans mon expérience récente exactement cette question, je trouve mysql.sock courir dans/private/var et retiré que. Je

find/-name mysql -print 2> /dev/null

... de trouver quelque chose qui ressemblait à un répertoire ou un fichier mysql et supprimé la plupart de ce qui est venu (en dehors de modules d'accès Perl/Python). Vous devrez peut-être également vérifier que le démon n'est pas encore en cours d'exécution à l'aide du Moniteur d'activité (ou sur la ligne de commande à l'aide de ps -A). J'ai trouvé que mysqld fonctionnait encore après la suppression des fichiers.

+1

Vous pouvez (et dans ce cas, devriez probablement) utiliser '-iname' si votre' find' le supporte pour effectuer une recherche insensible à la casse – damd

-5

sudo find/| grep -i mysql

Cela a fonctionné comme un charme pour moi. Juste parcouru la liste et assuré que tout ce qui concerne MySQL a été supprimé.

+5

fini par être très mauvais pour moi, car il a trouvé des choses comme les images MySQL que Coda 2 a utilisées, ainsi que certains fichiers dans Adobe Bridge. – Ian128K

+2

plus rapide: 'sudo find/-iname" * mysql * "' – bfontaine

+2

Oui, ne faites pas cela .. il efface toutes vos autres dépendances de programme. Argh, j'ai eu le clavier heureux ... perdu beaucoup de merde. – jdrefahl

4

J'ai aussi eu un fichier de configuration à /etc/my.cnf que je devais supprimer sur mon Mac OS X Snow Leopard installer

33

J'ai eu aussi des entrées dans:

/Library/Receipts/InstallHistory.plist 

que j'avais supprimer.

+0

De quel type d'entrées s'agissait-il? Espérons que c'était juste dans les versions plus anciennes mais je ne vois rien de mysql nommé là dedans. – Termato

3

Il pourrait être surpuissant, mais l'historique de votre commande MySQL peut être effacé de:

~/.mysql_history 
15

Si vous avez installé MySQL via brew alors nous pouvons utiliser la commande pour désinstaller mysql.

$ brew uninstall mysql 

Uninstalling /usr/local/Cellar/mysql/5.6.19... 

Cela a fonctionné pour moi.

+2

Je souhaite ... Je supprime ma version dmg de 10.8 pour que je puisse installer la version de brassage! :-) – dantiston

3

Vous devriez également vérifier/var/db/reçus et supprimer toutes les entrées qui contiennent com.mysql. *

En utilisant sudo rm -rf /var/db/receipts/com.mysql.* ne fonctionne pas pour moi. Je devais entrer dans var/db/reçus et supprimer chacun séparément.

0

Pour moi, j'avais installé MariaDB il y a des années en utilisant homebrew. La procédure de désinstallation correcte était: brew uninstall mariadb.

5
ps -ax | grep mysql 

* arrêt et tuer tous les processus MySQL

brew remove mysql 
brew cleanup 

sudo rm /usr/local/mysql 
sudo rm -rf /usr/local/var/mysql 
sudo rm -rf /usr/local/mysql* 
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
sudo rm -rf /Library/StartupItems/MySQLCOM 
sudo rm -rf /Library/PreferencePanes/MySql* 

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 

modifier /etc/hostconfig et supprimer la ligne MYSQLCOM=-YES-

rm -rf ~/Library/PreferencePanes/My*  
sudo rm -rf /Library/Receipts/mysql* 
sudo rm -rf /Library/Receipts/MySQL* 
sudo rm -rf /private/var/db/receipts/*mysql* 

* redémarrer votre ordinateur juste pour assurer que tous les processus MySQL sont tués essayer de exécutez mysql, cela ne devrait pas fonctionner