installer brew mysql sur macOS


344

J'essaie de configurer MySQL sur mac os 10.6 en utilisant Homebrew par brew install mysql 5.1.52.

Tout se passe bien et je réussis aussi avec le mysql_install_db.
Cependant, lorsque j'essaie de me connecter au serveur en utilisant:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

Je reçois:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: connectez-vous au serveur sur 'localhost' 
erreur échouée: 'Accès refusé pour l'utilisateur' root '@' localhost '(en utilisant le mot de passe: NO)'

J'ai également essayé d'accéder mysqladmin or mysql using -u root -proot,
mais cela ne fonctionne pas avec ou sans mot de passe.

Il s'agit d'une toute nouvelle installation sur une toute nouvelle machine et pour autant que je sache, la nouvelle installation doit être accessible sans mot de passe root. J'ai aussi essayé:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

mais je reçois aussi

ERREUR 1045 (28000): accès refusé à l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NO)


Voir aussi: apple.stackexchange.com/a/199747/152271 ... ce n'est pas une installation de brassage, mais cela a fonctionné pour moi quand aucune des réponses ici ne l'a fait
sudo rm -rf slash

1
FWIW J'ai utilisé mysql -u rootet cela a fonctionné ici: |
rogerdpack

Réponses:


684

Je pense que l'on peut se retrouver dans cette position avec des versions plus anciennes de mysql déjà installées. J'ai eu le même problème et aucune des solutions ci-dessus n'a fonctionné pour moi. Je l'ai fixé ainsi:

Utilisé les commandes remove& brew cleanup, déchargé le launchctlscript, puis supprimé le répertoire mysql dans/usr/local/var , supprimé mon existant /etc/my.cnf(laissez celui-ci à vous, le cas échéant) et launchctl plist

Mise à jour de la chaîne pour le plist. Notez également que votre répertoire de script de sécurité alternatif sera basé sur la version de MySQL que vous installez.

Pas à pas:

brew remove mysql

brew cleanup

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

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

Je suis alors reparti de zéro:

  1. mysql installé avec brew install mysql
  2. a exécuté les commandes proposées par brew: (voir remarque: ci-dessous)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  3. Démarrez mysql avec mysql.server start commande, pour pouvoir vous y connecter

  4. Utilisé le script de sécurité alternatif:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. Suivi de la launchctlsection de la sortie du script de package de brassage telle que,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Remarque: le --forcebit surbrew cleanup nettoiera également les fûts obsolètes, pensez que c'est une nouvelle fonctionnalité homebrew.

Notez la seconde: un commentateur dit que l'étape 2 n'est pas requise. Je ne veux pas le tester, alors YMMV!


31
Excellente réponse, merci! Une chose à ajouter: bien que cela soit mentionné dans la réponse, je l'ai manqué et, ce faisant, j'ai perdu environ 6 heures à essayer de m'installer sur Lion OSX. Assurez-vous que vous supprimez l'ancien répertoire mysql dans / usr / local / var / mysql si vous avez une version précédente de MySql avant de réinstaller. Sinon, vous ne pourrez pas vous connecter en tant que root initialement pour définir le mot de passe et vous passerez beaucoup de temps à crier sur votre ordinateur.
tronbabylove

3
allez dans ~ / Library / LaunchAgents pour voir comment le fichier .plist pour mysql est réellement appelé - dans mon cas, il a été installé par homebrew, vous devez donc modifier la procédure de désinstallation ci-dessus.
Marco

7
Étant donné que ce thread est ancien, la ligne "launchctl unload" ci-dessus est maintenant incorrecte. Le fichier installé par homebrew n'est plus appelé "com.mysql.mysqld.plist", il est appelé "homebrew.mxcl.mysql.plist". La ligne devrait maintenant se lire "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy

4
J'ai` [~ / Library / LaunchAgents] $ ls com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist com.mysql.mysqld.plist com.facebook.videochat.ava.plist homebrewgx.cl.lcl.lcl.bcl.hb.list.lcl.lcl.hp.l. / LaunchAgents` mais leur déchargement donnelaunchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
Ava

9
mysql_install_db peut maintenant être omis, brew crée automatiquement le serveur dans le bon répertoire.
rfreytag

52

Voici des instructions détaillées combinant la suppression de tous les MySQL de votre Mac puis l'installation de The Brew Way comme Sedorner l'a écrit ci-dessus:

Supprimer complètement MySQL par The Tech Lab

  • ps -ax | grep mysql
  • arrêter et killtous les processus MySQL
  • 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/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • modifier /etc/hostconfiget supprimer la ligneMYSQLCOM=-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*
  • sudo rm -rf /tmp/mysql*
  • essayez de courir mysql, ça ne devrait pas marcher

Installez Brew MySQL par utilisateur Sedorner à partir de cette réponse StackOverflow

  • brew doctor et corriger les erreurs

  • brew remove mysql

  • brew cleanup

  • brew update

  • brew install mysql

  • unset TMPDIR

      mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp # whoami is executed inline
  • mysql.server start

  • exécutez les commandes suggérées par Brew, ajoutez MySQL pour launchctlqu'il se lance automatiquement au démarrage

mysql devrait maintenant fonctionner et fonctionner tout le temps comme prévu

Godspeed.


3
J'ai également été mordu en faisant tout ce qui précède sans supprimer /tmp/mysql.sock en premier.
TKH

Merci, +1. sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistQuelques commentaires: vous dites à , puis quelques étapes plus tard, vous essayez de créer launchctl unloadce fichier ... mais il ne sera pas là, car vous l'avez supprimé. Aussi, a brew install mysqlcouru l' mysql_install_dbétape pour moi, pas besoin de le faire deux fois.
Madbreaks

@CorySimmons cela signifie-t-il que je devrais utiliser mon propre nom ou rootdans la whoamipartie de vos commandes?
YPCrumble du

1
Confirmé - whoami est mon nom (j'ai utilisé root). Cela a très bien fonctionné.
YPCrumble

Notez qu'il /etc/hostconfign'existe pas sur Yosemite et au-delà ( superuser.com/questions/850974/… )
ecbrodie

44

Eu le même problème. Il semble qu'il y ait un problème avec les instructions de configuration ou les tables initiales en cours de création. C'est ainsi que j'ai fait fonctionner mysqld sur ma machine.

Si le serveur mysqld fonctionne déjà sur votre Mac, arrêtez-le d'abord avec:

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Démarrez le serveur mysqld avec la commande suivante qui permet à quiconque de se connecter avec des autorisations complètes.

mysqld_safe --skip-grant-tables

Exécutez ensuite mysql -u rootce qui devrait maintenant vous permettre de vous connecter avec succès sans mot de passe. La commande suivante devrait réinitialiser tous les mots de passe root.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

Maintenant, si vous tuez la copie en cours de mysqld_safe et la redémarrez sans l'option skip-grant-tables, vous devriez pouvoir vous connecter avec mysql -u root -ple nouveau mot de passe que vous venez de définir.


Cela a fonctionné pour moi! J'ai commencé à deviner le mot de passe avant d'essayer aussi et le mot de passe a fini par être «mot de passe». Alors essayez ça.
cointilt

Le lancement de mysqld_safe sans les tables de subvention a fonctionné pour moi. Cependant, la MISE À JOUR n'a pas fonctionné car je n'ai aucun enregistrement sur select * from mysql.user; Comme nous sommes déjà connectés en tant que root, nous pouvons simplement en insérer un pour root en exécutant GRANT ALL PRIVILEGES ON . POUR 'root' @ 'localhost' IDENTIFIED BY 'everything'; RINCER LES PRIVILÈGES;
Rupert

J'utilisais le service / script d'arrêt, et il a continué à redémarrer. Est-ce parce que je n'ai jamais déchargé le LaunchAgent? (doh)
reneruiz

1
Ce qui fonctionne pour moi, c'est quelque chose de similaire à ce que vous faites. Dans la partie où vous avez mis à jour le mot de passe de l'utilisateur, j'ai dû faire: use mysql; mettre à jour l'utilisateur set authentication_string = password ('1111') where user = 'root'; Comme dans: stackoverflow.com/a/31122246/1328261
ruhanbidart

16

Si brew a installé MySQL 5.7, le processus est un peu différent de celui des versions précédentes. Pour réinitialiser le mot de passe root, procédez comme suit:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

Un mot de passe temporaire sera imprimé sur la console et il ne peut être utilisé que pour la mise à jour du mot de passe root:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

2
Je peux voir le mot de passe temporaire généré mais quand j'essaye d'exécuter mysql, j'obtiens: ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).et quand je fais mysql -u root, le mot de passe n'est pas accepté.
forloop

1
J'ai réussi à installer mysql 5.7.9 en utilisant l' installateur dmg qui m'a demandé une fenêtre indiquant qu'il générait un mot de passe temporaire pour moi. Et maintenant mysqlfonctionne correctement. Dommage que j'ai dû passer énormément de temps juste pour le faire fonctionner sur un tout nouveau Macbook. : |
forloop

1
@forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken

pour moi, la réinitialisation / modification du mot de passe ci-dessus n'a pas fonctionné. J'ai dû me connecter à mysql en utilisant un mot de passe temporaire puis exécuter la commande alter 1. mysql -u root -p <temp-password> 2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
Test Test

8

D'accord, j'ai eu le même problème et je l'ai résolu. Pour une raison quelconque, le script mysql_secure_installation ne fonctionne pas prêt à l'emploi lorsque vous utilisez Homebrew pour installer mysql, donc je l'ai fait manuellement. Sur l'interface CLI entrez :

mysql -u root

Cela devrait vous mettre dans mysql. Procédez maintenant comme suit (extrait de mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

Maintenant, quittez et revenez dans mysql avec: mysql -u root -p


1
Cette solution ne fonctionne pas pour moi car la racine mysql -u ne me conduit pas à l'invite mysql. Il dit Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NON)
Nick Vanderbilt

Avez-vous déjà installé MySQL sur cette machine?
Darren Newton

8

J'ai eu le même problème tout à l'heure. Si vous brew info mysqlsuivez les étapes, il semble que le mot de passe root devrait être new-passwordsi je me souviens bien. Je voyais la même chose que toi. Cet article m'a le plus aidé.

Il est avéré que je n'ai pas eu des comptes créés pour moi. Lorsque je me suis connecté après avoir exécuté mysqld_safeet que je n'ai select * from user;retourné aucune ligne. J'ai ouvert MySQLWorkbench avec le mysqld_safefonctionnement et ajouté un rootcompte avec tous les privilèges que j'attendais. Cela fonctionne bien pour moi maintenant.


7

Si mysql est déjà installé

Arrêtez complètement mysql.

  1. mysql.server stop <- peut nécessiter une modification en fonction de votre version
  2. ps -ef | grep mysql <- liste les processus avec mysql dans leur nom
  3. kill [PID] <- tuer les processus par PID

Supprimez les fichiers. Les instructions ci-dessus sont bonnes. Je vais ajouter:

  1. sudo find /. -name "*mysql*"
  2. En utilisant votre jugement, rm -rf ces fichiers. Notez que de nombreux programmes ont des pilotes pour mysql que vous ne voulez pas supprimer. Par exemple, ne supprimez rien dans le répertoire d'installation de PHP. Supprimez les éléments dans son propre répertoire mysql.

Installer

Si tout va bien vous avez homebrew. Sinon, téléchargez-le.

J'aime lancer le brassage en tant que root, mais je ne pense pas que vous le deviez. Edit 2018: vous ne pouvez plus exécuter brew en tant que root

  1. sudo brew update
  2. sudo brew install cmake <- dépendance pour mysql, utile
  3. sudo brew install openssl <- dépendance pour mysql, utile
  4. sudo brew info mysql <- feuilletez cela ... cela vous donne une idée de ce qui va suivre
  5. sudo brew install mysql --with-embedded; say done<- Installe mysql avec le serveur embarqué. Vous dit quand c'est fini (mon installation a pris 10 minutes)

Ensuite

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql ne fonctionnerait pas pour moi tant que je n'aurais pas exécuté cette commande
  2. sudo mysql.server start <- encore une fois, la syntaxe exacte peut varier
  3. Créez des utilisateurs dans mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). N'oubliez pas d'ajouter un mot de passe pour l'utilisateur root.

3

infos de brassage mysql

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql.service start

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

ou mysql -u root

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Je cherche une solution depuis un certain temps mais je n'arrive pas à résoudre mon problème. J'ai essayé plusieurs solutions sur stackoverflow.com mais cela ne m'aide pas.


4
Essayez de courir sudo chown -R mysql /usr/local/var/mysql/avant de courir mysql.server startsi vous exécutez en mysql.servertant que root (lorsque vous commencez à utiliser l'utilisateur root, le serveur MySQL rétrograde l' _mysqlutilisateur).
Rarylson Freitas

Hé, avez-vous trouvé une solution à ce problème?
KcC0

omg, le nombre de questions et 1000 réponses de ligne à ce problème ... pense que je vais juste brew install redistbh
Danyal Aytekin

3

TL; DR

Le serveur MySQL peut ne pas fonctionner après l'installation avec Brew. Essayez brew services start mysqlou tout simplementmysql.server start si vous ne voulez pas que MySQL s'exécute en tant que service d'arrière-plan.

Histoire complète:

Je viens d'installer MySQL (stable) 5.7.17 sur un nouveau MacBook Pro exécutant Sierra et j'ai également reçu une erreur lors de l'exécution mysql_secure_installation:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Tu peux répéter s'il te plait?

Selon les informations d'installation de Brew, cela mysql_secure_installationdevrait m'inviter à ... sécuriser l'installation. J'ai pensé que le serveur MySQL pourrait ne pas fonctionner et à juste titre. Courir brew services start mysqlpuis mysql_secure_installationtravailler comme un charme.


1

Essayez en accordant la permission Grant Commande de mysql


le problème est que je ne peux pas accéder du tout au serveur mysql après l'installation par brew. Je peux le démarrer, mais il ne me laissera pas entrer en tant que root avec ou sans mot de passe. (par conséquent, je ne peux pas créer d'autres utilisateurs ou gérer les autorisations .. ou je ne vous ai pas bien compris?
nikola

1

Aucune des réponses ci-dessus (ou l'une des dizaines de réponses que j'ai vues ailleurs) n'a fonctionné pour moi lors de l'utilisation de brew avec la version la plus récente de mysql et yosemite. J'ai fini par installer une autre version de mysql via brew.

Spécifier une version plus ancienne en disant (par exemple)

brew install mysql56

A travaillé pour moi. J'espère que cela aide quelqu'un. C'était un problème frustrant sur lequel je me sentais coincé pour toujours.


Oui, cela fonctionnera, mais si vous vouliez installer MySQL 5.7 (comme actuellement fait par brew install mysql), vous pouvez suivre les instructions dans ma réponse stackoverflow.com/a/33924648/133106
mrucci

1

Voici une mise à jour pour MySQL 5.7

bash --version
GNU bash, version 4.4.12 (1) -release (x86_64-apple-darwin17.0.0)
Copyright (C) 2016 Free Software Foundation, Inc.
Licence GPLv3 +: GNU GPL version 3 ou ultérieure 

Il s'agit d'un logiciel libre; vous êtes libre de le modifier et de le redistribuer.
Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi.

# ========================================
infusion - version
Homebrew 1.7.6
Homebrew / homebrew-core (révision git eeb08; dernier commit 2018-09-27)
Homebrew / homebrew-cask (révision git c9f62; dernier commit 2018-09-27)

# ========================================
mysql --version
mysql Ver 14.14 Distrib 5.7.23, pour osx10.13 (x86_64) en utilisant le wrapper EditLine

# ========================================
system_profiler SPSoftwareDataType
Logiciel:

    Présentation du logiciel système:

      Version du système: macOS 10.13.3 (17D47)
      Version du noyau: Darwin 17.4.0
      Volume de démarrage: Macintosh HD
      Mode de démarrage: Normal
      Nom de l'ordinateur: EdisonMacHomeBj
      Nom d'utilisateur: Edison (edison)
      Mémoire virtuelle sécurisée: activée
      Protection de l'intégrité du système: désactivée
      Temps depuis le démarrage: 6 jours 23:13
infusion supprimer mysql@5.7
nettoyage d'infusion
mv / usr / local / var / mysql /usr/local/var/mysql.bak
installer brew mysql@5.7
rm -rf / usr / local / var / mysql

# ========================================
mysqld --initialize
2018-09-28T04: 54: 06.526061Z 0 [Avertissement] TIMESTAMP avec une valeur implicite DEFAULT est déconseillé. Veuillez utiliser l'option de serveur --explicit_defaults_for_timestamp (voir la documentation pour plus de détails).
2018-09-28T04: 54: 06.542625Z 0 [Avertissement] Définition de lower_case_table_names = 2 car le système de fichiers pour / usr / local / var / mysql / ne respecte pas la casse
2018-09-28T04: 54: 07.096637Z 0 [Avertissement] InnoDB: nouveaux fichiers journaux créés, LSN = 45790
2018-09-28T04: 54: 07.132950Z 0 [Avertissement] InnoDB: Création de tables de système de contrainte de clé étrangère.
2018-09-28T04: 54: 07.196824Z 0 [Avertissement] Aucun UUID existant n'a été trouvé, nous supposons donc que c'est la première fois que ce serveur est démarré. Génération d'un nouvel UUID: 87cf2f10-c2da-11e8-ac2d-ba163df10130.
2018-09-28T04: 54: 07.224871Z 0 [Avertissement] La table Gtid n'est pas prête à être utilisée. La table 'mysql.gtid_executed' ne peut pas être ouverte.
2018-09-28T04: 54: 07.366688Z 0 [Avertissement] Le certificat CA ca.pem est auto-signé.
2018-09-28T04: 54: 07.457954Z 1 [Remarque] Un mot de passe temporaire est généré pour root @ localhost: kq3K = JR8; GqZ

# ========================================
mysql_secure_installation -uroot -p "kq3K = JR8; GqZ"
mysql_secure_installation: [Avertissement] L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être non sécurisée.

Sécurisation du déploiement du serveur MySQL.


Le mot de passe existant pour la racine du compte d'utilisateur a expiré. Veuillez définir un nouveau mot de passe.

Nouveau mot de passe:

Ré-entrez le nouveau mot de passe:

VALIDATE PASSWORD PLUGIN peut être utilisé pour tester les mots de passe
et améliorer la sécurité. Il vérifie la force du mot de passe
et permet aux utilisateurs de définir uniquement les mots de passe qui sont
assez sécurisé. Souhaitez-vous configurer le plug-in VALIDATE PASSWORD?

Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non: n
Utilisation du mot de passe existant pour root.
Changer le mot de passe de root? ((Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non): y

Nouveau mot de passe:

Ré-entrez le nouveau mot de passe:
Par défaut, une installation MySQL a un utilisateur anonyme,
permettant à quiconque de se connecter à MySQL sans avoir à avoir
un compte utilisateur créé pour eux. Ceci est destiné uniquement aux
tests, et pour rendre l'installation un peu plus fluide.
Vous devez les supprimer avant de passer à une production
environnement.

Supprimer les utilisateurs anonymes? (Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non): y
Succès.


Normalement, root ne doit être autorisé à se connecter
«localhost». Cela garantit que quelqu'un ne peut pas deviner
le mot de passe root du réseau.

Désactiver la connexion root à distance? (Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non): n

 ... sauter.
Par défaut, MySQL est livré avec une base de données nommée 'test' qui
tout le monde peut y accéder. Ceci est également destiné uniquement aux tests,
et doit être retiré avant de passer à une production
environnement.


Supprimer la base de données de test et y accéder? (Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non): n

 ... sauter.
Le rechargement des tables de privilèges garantira que toutes les modifications
fait jusqu'ici prendra effet immédiatement.

Recharger les tables de privilèges maintenant? (Appuyez sur y | Y pour Oui, sur n'importe quelle autre touche pour Non): y
Succès.

Terminé!

quand copier toute la base de données de "mysql.bak" ça ne marche pas :(
Jahirul Islam Mamun

1

Juste pour ajouter quelque chose aux réponses précédentes - Lors de la mise à niveau de MySql 5.6 vers MySql 8.0, j'ai suivi les étapes fournies ici pour effectuer une désinstallation propre, mais j'ai eu les erreurs suivantes

2019-11-05T07:57:31.359304Z 0 [ERROR] [MY-000077] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-05T07:57:31.359330Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql is unusable. You can remove all files that the server added to it.
2019-11-05T07:57:31.359413Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-11-05T07:57:31.359514Z 0 [Note] [MY-010120] [Server] Binlog end

Cela m'a pris un peu de temps pour le comprendre. Trouvé un indice ici: https://discourse.brew.sh/t/clean-removal-of-mysql/2251

Ainsi, la clé de mon problème était la suppression du fichier /usr/local/etc/my.cnf après la désinstallation. Après cette dernière étape, MySql a finalement commencé à fonctionner.


0

J'ai eu le même problème après avoir essayé de redémarrer mysql.

J'utilise les deux alias suivants dans mon .profile pour plus de commodité

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

Après avoir arrêté mysql puis essayé de redémarrer, j'ai rencontré le problème que vous rencontriez. J'ai regardé la charge launchctl et il signalait une erreur «rien trouvé à charger».

Après une recherche rapide, j'ai trouvé cela ..

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

J'ai donc mis à jour mon mysql-startalias comme suit

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

Cela a résolu mon problème qui peut vous être utile.


2
Brew prend désormais en charge une servicescommande, elles peuvent donc être remplacées par brew services stop mysqlet brew services start mysqlrespectivement.
devstuff

0

Le "chemin de base" pour Mysql est stocké dans /etc/my.cnflequel n'est pas mis à jour lorsque vous effectuez une mise à niveau de l'infusion. Il suffit de l'ouvrir et de modifier la valeur de leur base

Par exemple, changez ceci:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

pour pointer vers la nouvelle version:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

Redémarrez mysql avec:

mysql.server start
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.