Pour une raison quelconque, MySQL a cessé de donner accès à root. Désinstallé et réinstallé avec Homebrew. Nouvelle installation, tables fraîches mais quand j'entre
mysql -u root -p
J'obtiens cette erreur:
Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NON)
J'ai réinstallé MySQL cinq fois mais il demande toujours un mot de passe. Comment puis-je réparer ça?
mysql_secure_installation
et de répondre aux questions posées, simplemysql -u root
travaillé ici ...Réponses:
Exécutez simplement cette commande (où
NEWPASS
est votre mot de passe):J'ai eu la même erreur et je l'ai corrigée de cette façon.
la source
$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
Aucun de ceux-ci n'a fonctionné pour moi. Je pense que j'avais déjà mysql quelque part sur mon ordinateur, donc un mot de passe y a été défini ou quelque chose. Après avoir passé des heures à essayer toutes les solutions, voici ce qui a fonctionné pour moi:
tout le crédit à @Ghrua
la source
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
pour définir votre nouveau mot de passe root.Si vous avez défini et oublié par inadvertance le mot de passe root, et que vous ne voulez pas effacer toutes vos bases de données et recommencer parce que vous êtes paresseux et que vous avez oublié d'avoir une solution de sauvegarde en place, et que vous utilisez une installation Homebrew assez récente (Hiver 2013), voici les étapes pour réinitialiser votre mot de passe pour MySQL.
Arrêtez l'instance MySQL en cours d'exécution
Maintenant, démarrez mysql à la main en sautant les tables de subventions et la mise en réseau
Notez que si lorsque vous exécutez echo $ (brew --prefix mysql) et qu'il ne répond pas comme "/ usr / local / opt / mysql" dans bash, vous devrez ajuster le chemin en conséquence.
Une fois que vous avez fait cela, vous devriez maintenant avoir une instance MySQL en cours d'exécution et non protégée.
Connectez-vous et définissez le mot de passe
À l'invite, entrez la commande MySQL suivante pour définir un nouveau mot de passe pour l'utilisateur concerné.
Si tout se passe comme prévu, il devrait dire:
Quittez l'invite MySQL.
Arrêter le serveur:
Maintenant, remettons le démon de lancement afin que notre MySQL soit à nouveau prêt:
Toutes nos félicitations. Vous venez de réinitialiser votre mot de passe root mysql. Versez-vous un café et mettez en place une solution de secours!
la source
mysqladmin -u root shutdown
password
n'était pas une colonne valide dans mysql 5.7.9. Au lieu de cela, j'ai dû utiliser à laauthentication_string
place. Le reste des instructions fonctionnait parfaitement. Merci!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
pour que ça marche. (Comme le commentaire ci - dessus à droite me, mais précédezmysql.
àuser
.)J'ai eu le même problème il y a quelques jours. Cela se produit lorsque vous installez
mysql
viahomebrew
et exécutez le script d'initialisation (mysql_install_db
) avant de démarrer lemysql
démon.Pour résoudre ce problème, vous pouvez supprimer
mysql
les fichiers de données, redémarrer le service puis exécuter le script d'initialisation:la source
mysqld --initialize
No such file or directory
quand je lance cette première commande.Vous avez cette erreur après avoir installé mysql via home brew.
Alors supprimez d'abord l'installation. Puis réinstallez via Homebrew
Puis redémarrez le service mysql
Exécutez ensuite cette commande pour définir votre nouveau mot de passe root.
Enfin, il demandera de recharger les privilèges. Dis oui. Puis connectez-vous à nouveau à mysql. Et utilisez le nouveau mot de passe que vous avez défini.
la source
mysql_secure_installation
mais l'élément clé était lemysql.server restart
Si vous courez
Échec de la connexion avec le compte root:
alors utilisateur admin par défaut est créé même nom que votre Mac OS compte nom d' utilisateur , par exemple johnsmit .
Pour vous connecter en tant que root, lancez:
la source
Cela a fonctionné pour moi:
la source
Je viens de remarquer quelque chose de commun à la plupart des réponses ici, et je l'ai confirmé sur ma nouvelle installation. C'est en fait évident si vous regardez les recommandations pour fonctionner
mysqladmin -u root
sans-p
.Il n'y a pas de mot de passe.
Brew configure mysql avec juste un utilisateur root et aucun mot de passe. Cela a du sens, je suppose, mais les avertissements post-installation ne le mentionnent pas du tout.
la source
Essayez avec
sudo
pour éviter l'erreur "Accès refusé":sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
la source
Puisque la question a été posée / répondu il y a longtemps, ces principales réponses ne fonctionnent pas pour moi. Voici ma solution, en 2020.
Contexte : mysql / mariadb frais installé par homebrew.
Problème : le mot de passe root n'est ni vide ni inconnu.
Le correctif :
La raison :
la source
J'espère que cela t'aides.
la source
L'exécution de ces lignes dans le terminal a fait l'affaire pour moi et pour plusieurs autres qui avaient le même problème. Ces instructions sont listées dans le terminal une fois que brew a installé mysql avec succès.
où
YOURPASSWORD
est le mot de passe pour root.la source
No such file or directory
quand j'exécute ces commandesVérifiez que vous n'avez pas de .my.cnf caché dans votre homedir. C'était mon problème.
la source
Cela a fonctionné pour moi pour MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx
Démarrez mysql en exécutant
les services de brassage démarrent mysql
Exécutez le script d'installation
mysql_secure_installation
Il vous sera demandé de configurer un plugin VALIDATE PASSWORD. Entrez y pour ce faire.
Sélectionnez la validation de mot de passe requise (cela n'a pas vraiment d'importance si vous utilisez uniquement la base de données)
Sélectionnez maintenant y pour toutes les options restantes: Supprimer anon. utilisateurs; interdire les connexions root à distance; supprimer la base de données de test; recharger les tables de privilèges. Vous devriez maintenant recevoir un message de
All done!
la source
Cela a fonctionné pour moi. J'espère que cela fonctionne pour vous aussi !!! Suis les.
la source
rm -rf /usr/local/var/mysql/
commande supprimera toutes les bases de données et les données Mysql de votre ordinateur!Le mot de passe par défaut lorsque vous installez mysql via brew est root, essayez ceci, cela a fonctionné pour moi
mysql -uroot -proot
la source
brew info mysql
: Nous avons installé votre base de données MySQL sans mot de passe root. Pour le sécuriser, exécutez: mysql_secure_installationTerminal 1:
Terminal 2:
la source
J'utilise Catalina et j'utilise cette
mysql_secure_installation
commande et fonctionne maintenant pour moi:je saisis
root
comme mot de passe actuelet fais le reste
la source
Donc, au cas où quelqu'un aurait la même situation et la même configuration que moi et serait également sur le point de devenir fou - cela a fonctionné pour moi .
Après une longue histoire, j'avais une MariaDB installée par brew qui continuait à redémarrer automatiquement lorsque je tuais son processus (c'était le fait de brew), qui avait un mot de passe root, que je ne connaissais pas .
$ brew services list
Cela montre quelque chose comme:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Arrêtez le serveur MySQL avec:
$ brew services stop mariadb
Puis redémarrez-le sans l'utilisateur root (et sans utiliser brew):
$ mariadbd --skip-grant-tables &
Ici, cela
mysql_secure_installation
n'a pas fonctionné pour moi à cause du--skip-grant-tables
, et cela ne fonctionnerait pas sans le--skip-grant-tables
parce qu'il avait besoin du mot de passe (que je n'avais pas).L'essai
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
n'a renvoyé que des erreurs étranges et n'a rien fait;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
également n'a pas fonctionné, a donné des erreurs différentes et des suggestions qui n'ont pas fonctionné pour moi.Mais vous pouvez maintenant vous connecter à mysql sans informations d'identification:
$ mysql
Ici, l'ancienne méthode de mise à jour de la table des utilisateurs pour root ne fonctionne pas car "La colonne" Mot de passe "ne peut pas être mise à jour".
La nouvelle méthode utilise
alter user
MAIS ne fonctionne qu'après l' avoir faitflush privileges;
, faites-le d'abord.Ensuite:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(
MariaDB [(none)]>
est l'invite MySQL ici)Puis
flush privileges;
recommencez.Quittez le client MySQL.
Maintenant en ce qui concerne le brew, MariaDB ne fonctionne toujours pas, et utilise donc
$ ps aux | grep -i mariadb
pour trouver le pid et$ kill -9 <pid>
lui.Ensuite, utilisez
$ brew services start mariadb
pour le redémarrer.la source
Utilisez le fichier init pour démarrer mysql afin de changer le mot de passe root.
Votre mot de passe root est maintenant changé. Assurez-vous d' arrêter correctement le serveur pour enregistrer le changement de mot de passe. Dans une nouvelle fenêtre de terminal, exécutez
et entrez votre nouveau pass.
Démarrez votre service et supprimez le fichier init
Testé sur la version 8.0.19 de mysql
la source