le mot de passe root par défaut est - attendez - "root" (sans les guillemets), ou pas de mot de passe du tout (et ce serveur mysql est-il vraiment le vôtre)
Nikola Bogdanović
oui c'est mon serveur mysql local sur mon ordinateur portable
Om3ga
Alors est-ce que quelqu'un vient de passer par cette question et de rejeter un vote négatif sur chaque réponse correcte et pertinente ?
J'ai dû utiliser mysqladmin -u root -p shutdown, avec le nouveau mot de passe.
SL Barth - Réintègre Monica
2
Beau flux d'instructions en particulier: puis exécutez mysql dans un nouveau terminal
Mohammed Subhi Sheikh Quroush
8
je ne peux pas faire ça mysql -u root. Il montre une erreurAccess denied
Avinash Raj
4
@AvinashRaj: Essayez ceci: sudo mysql -u root
Allen Gingrich
Impressionnant. Je comprends ce qui a fonctionné dans RHEL 7: Terminal 1: service sudo mysql stop sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Terminal 2: mysql -u root UPDATE mysql.user SET Password = PASSWORD ('nouveau mot de passe') WHERE User = 'root'; PRIVILÈGES DE RINÇAGE; mysqladmin -u root -p shutdown Remarque: Une fois que vous arrêtez mysqladmin, vous verrez les sorties du mode sans échec dans le terminal 1. sudo service mysql start Voilà et cela fonctionne comme un charme avec le nouveau mot de passe!
Utilisateur StackOverFlow
65
Vous ne pouvez pas afficher le mot de passe haché; la seule chose que vous pouvez faire est de le réinitialiser!
(au-dessus de la ligne se trouve la commande entière)
Ce sera une commande en cours jusqu'à ce que le processus soit terminé, alors ouvrez une autre fenêtre shell / terminal, connectez-vous sans mot de passe:
$ mysql -u root
mysql>UPDATE mysql.userSET Password=PASSWORD('password')WHEREUser='root';
On dirait que mysql n'est pas installé correctement. Désinstallez-le correctement et réinstallez-le.
tk_
Merci beaucoup. Quelque chose est allé bizarre avec mon mysql_secure_installationet root ne coopérait plus. Que fait le authentication_stringparamètre?
sera
3
Pour redémarrer, essayez mysqladmin -u root -p shutdownavec le nouveau mot de passe alorssudo service mysql start
forumulator
37
MySQL 5.7 et supérieur enregistre la racine dans le fichier journal MySQL.
Dans mon cas, le mot de passe n'était pas ici; cependant, à la place, il /var/log/mysql/error.logcontenait un avertissement indiquant que le mot de passe root était vide - donc ce genre de chose a sauvé ma journée :)
Janaka Bandara
19
une chose qui m'a fait trébucher sur une nouvelle installation de mySQL et me demande pourquoi je ne pouvais pas faire fonctionner le mot de passe par défaut et pourquoi même les méthodes de réinitialisation ne fonctionnaient pas. Il s'avère que sur Ubuntu 18, la version la plus récente du serveur mysql n'utilise pas du tout l'authentification par mot de passe pour l'utilisateur root par défaut. Cela signifie que peu importe ce que vous définissez, cela ne vous permettra pas de l'utiliser. il s'attend à ce que vous vous connectiez depuis une socket privilégiée. alors
mysql -u root -p
ne fonctionnera pas du tout, même si vous utilisez le bon mot de passe !!! il refusera l'accès, peu importe ce que vous mettez.
Au lieu de cela, vous devez utiliser
sudo mysql
cela fonctionnera sans aucun mot de passe. puis une fois que vous êtes entré, vous devez taper
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'Password you want to use';
puis déconnectez-vous et maintenant la chose sanglante acceptera enfin votre mot de passe
Vous ne pouvez pas le trouver. Il est stocké dans une base de données, à laquelle vous avez besoin du mot de passe root pour accéder, et même si vous avez eu accès d'une manière ou d'une autre, il est haché avec un hachage à sens unique. Vous pouvez le réinitialiser: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
C'était une bouée de sauvetage, un excellent conseil!
Nicholas Kreidberg
travaillé dans Centos7 mysqld --init-file=/root/m.txt. J'ai ajouté la commande ci-dessus SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');à /root/m.txt
Damodar Bashyal
8
À moins que le gestionnaire de packages ne vous demande de taper le mot de passe root lors de l'installation, le mot de passe root par défaut est la chaîne vide. Pour vous connecter au serveur fraîchement installé, tapez:
shell> mysql -u root --password=
mysql>
Pour changer le mot de passe, récupérez le shell unix et tapez:
Oups, le mot de passe a changé. Utilisez le nouveau,root :
shell> mysql -u root --password=root...
blah, blah, blah : mysql welcome banner
...
mysql>
Bingo! Nouveau faire quelque chose d'intéressant
mysql> show databases;+--------------------+|Database|+--------------------+| information_schema || mysql || performance_schema |+--------------------+3rowsinset(0.00 sec)
il n'utilise pas de mots de passe mais des sockets authentifiés par défaut maintenant. donc changer simplement le mot de passe ne suffit plus.
Kit Ramos
7
En plus des autres réponses, dans une installation cpanel, le mot de passe root mysql est stocké dans un fichier nommé /root/.my.cnf. (et le service cpanel le réinitialise en cas de modification, les autres réponses ici n'aideront donc pas)
vous pouvez voir le mot de passe root mysql, eh bien je l'ai essayé sur mysql 5.5, donc je ne sais pas sur les autres nouvelles versions fonctionnent bien ou pas
il semble que le serveur mysql n'utilise plus l'authentification par mot de passe par défaut. vous devez démarrer le client mysql en tant que super utilisateur (sudo) pour y accéder jusqu'à ce que vous changiez la méthode de connexion.
Kit Ramos
4
Le mot de passe par défaut qui a fonctionné pour moi après l'installation immédiate du serveur mysql est: mysql
peut-être qu'il n'a pas répondu à la question, mais de nombreuses personnes qui viennent ici trouveront peut-être que cela résout leur problème.
Ohad Cohen
3
La procédure change en fonction de la version de MySql. Suivez la procédure exactement comme celle décrite pour votre version:
CONSEILS - Lisez avant la page d'instructions de votre version de MySql *
À l'étape 5: au lieu d'exécuter CMD, créez un raccourci sur votre bureau en appelant CDM.exe. Cliquez ensuite avec le bouton droit sur le raccourci et sélectionnez "Exécuter en tant qu'administrateur".
À l'étape 6: Ignorez la première version proposée de la commande et exécutez la seconde, celle avec le paramètre --defaults-file
Une fois la commande exécutée, si tout va bien, la fenêtre CMD reste ouverte et la commande de l'étape 6 continue de s'exécuter. Fermez simplement la fenêtre (cliquez sur 'x'), puis forcez la fermeture de MySQl à partir du gestionnaire de tâches.
Supprimez le fichier avec les commandes SQL et redémarrez MySQL. Le mot de passe doit être changé maintenant.
Les réponses fournies ici ne semblent pas fonctionner pour moi, le truc s'est avéré être: ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Ouvrez deux sessions shell, en vous connectant à l'une en tant qu'utilisateur root Linux et à l'autre en tant qu'utilisateur non root ayant accès à la mysqlcommande.
Dans votre session racine, arrêtez l'écouteur mysqld normal et démarrez un écouteur qui contourne l'authentification par mot de passe ( remarque: il s'agit d'un risque de sécurité important car toute personne ayant accès à la mysql
commande peut accéder à vos bases de données sans mot de passe. Vous pouvez fermer les sessions shell actives et / ou désactivez l'accès au shell avant de faire cela):
# systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql &
Dans votre session non root, connectez-vous à mysql et définissez le mot de passe root mysql:
J'ai résolu cela d'une manière différente, cela peut être plus facile pour certains.
Je l'ai fait de cette façon parce que j'ai essayé de démarrer en mode sans échec mais je ne peux pas me connecter avec l'erreur: ERREUR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)
Ce que j'ai fait, c'est de me connecter normalement en tant que root:
Réponses:
grâce à @thusharaK j'ai pu réinitialiser le mot de passe root sans connaître l'ancien mot de passe.
Sur Ubuntu, j'ai fait ce qui suit:
Puis exécutez mysql dans un nouveau terminal:
Et exécutez les requêtes suivantes pour modifier le mot de passe:
Dans MySQL 5.7, le champ du mot de passe dans le champ de la table mysql.user a été supprimé, maintenant le nom du champ est 'authentication_string'.
Quittez le mode sans échec mysql et démarrez le service mysql en:
la source
mysqladmin -u root -p shutdown
, avec le nouveau mot de passe.mysql -u root
. Il montre une erreurAccess denied
Vous ne pouvez pas afficher le mot de passe haché; la seule chose que vous pouvez faire est de le réinitialiser!
Arrêtez MySQL:
ou
Démarrez-le en mode sans échec:
(au-dessus de la ligne se trouve la commande entière)
Ce sera une commande en cours jusqu'à ce que le processus soit terminé, alors ouvrez une autre fenêtre shell / terminal, connectez-vous sans mot de passe:
MySQL 5.7 et plus:
Démarrez MySQL:
ou
Votre nouveau mot de passe est «mot de passe».
la source
mysql_secure_installation
et root ne coopérait plus. Que fait leauthentication_string
paramètre?mysqladmin -u root -p shutdown
avec le nouveau mot de passe alorssudo service mysql start
MySQL 5.7 et supérieur enregistre la racine dans le fichier journal MySQL.
Veuillez essayer ceci:
la source
/var/log/mysql/error.log
contenait un avertissement indiquant que le mot de passe root était vide - donc ce genre de chose a sauvé ma journée :)une chose qui m'a fait trébucher sur une nouvelle installation de mySQL et me demande pourquoi je ne pouvais pas faire fonctionner le mot de passe par défaut et pourquoi même les méthodes de réinitialisation ne fonctionnaient pas. Il s'avère que sur Ubuntu 18, la version la plus récente du serveur mysql n'utilise pas du tout l'authentification par mot de passe pour l'utilisateur root par défaut. Cela signifie que peu importe ce que vous définissez, cela ne vous permettra pas de l'utiliser. il s'attend à ce que vous vous connectiez depuis une socket privilégiée. alors
ne fonctionnera pas du tout, même si vous utilisez le bon mot de passe !!! il refusera l'accès, peu importe ce que vous mettez.
Au lieu de cela, vous devez utiliser
cela fonctionnera sans aucun mot de passe. puis une fois que vous êtes entré, vous devez taper
puis déconnectez-vous et maintenant la chose sanglante acceptera enfin votre mot de passe
la source
Vous ne pouvez pas le trouver. Il est stocké dans une base de données, à laquelle vous avez besoin du mot de passe root pour accéder, et même si vous avez eu accès d'une manière ou d'une autre, il est haché avec un hachage à sens unique. Vous pouvez le réinitialiser: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
la source
Suivez ces étapes pour réinitialiser le mot de passe dans le système Windows
Arrêtez le service Mysql du gestionnaire de tâches
Créez un fichier texte et collez l'instruction ci-dessous
Enregistrez sous
mysql-init.txt
et placez-le dans'C' drive
.Ouvrez l'invite de commande et collez ce qui suit
C:\> mysqld --init-file=C:\\mysql-init.txt
la source
mysqld --init-file=/root/m.txt
. J'ai ajouté la commande ci-dessusSET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
à /root/m.txtÀ moins que le gestionnaire de packages ne vous demande de taper le mot de passe root lors de l'installation, le mot de passe root par défaut est la chaîne vide. Pour vous connecter au serveur fraîchement installé, tapez:
Pour changer le mot de passe, récupérez le shell unix et tapez:
Le nouveau mot de passe est «root». Connectez-vous maintenant au serveur:
Oups, le mot de passe a changé. Utilisez le nouveau,
root
:Bingo! Nouveau faire quelque chose d'intéressant
Maurycy
la source
En plus des autres réponses, dans une installation cpanel, le mot de passe root mysql est stocké dans un fichier nommé
/root/.my.cnf
. (et le service cpanel le réinitialise en cas de modification, les autres réponses ici n'aideront donc pas)la source
vous pouvez voir le mot de passe root mysql, eh bien je l'ai essayé sur mysql 5.5, donc je ne sais pas sur les autres nouvelles versions fonctionnent bien ou pas
la source
Cela a fonctionné pour moi:
Sur le terminal, tapez ce qui suit
$ sudo mysql -u root -p
Entrez le mot de passe: // appuyez simplement sur Entrée
mysql>
la source
Le mot de passe par défaut qui a fonctionné pour moi après l'installation immédiate du serveur mysql est:
mysql
la source
La procédure change en fonction de la version de MySql. Suivez la procédure exactement comme celle décrite pour votre version:
CONSEILS - Lisez avant la page d'instructions de votre version de MySql *
À l'étape 5: au lieu d'exécuter CMD, créez un raccourci sur votre bureau en appelant CDM.exe. Cliquez ensuite avec le bouton droit sur le raccourci et sélectionnez "Exécuter en tant qu'administrateur".
À l'étape 6: Ignorez la première version proposée de la commande et exécutez la seconde, celle avec le paramètre --defaults-file
Une fois la commande exécutée, si tout va bien, la fenêtre CMD reste ouverte et la commande de l'étape 6 continue de s'exécuter. Fermez simplement la fenêtre (cliquez sur 'x'), puis forcez la fermeture de MySQl à partir du gestionnaire de tâches.
Supprimez le fichier avec les commandes SQL et redémarrez MySQL. Le mot de passe doit être changé maintenant.
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... changez simplement la version dans le lien (5.5, 5.6, 5.7)
la source
Dans votre fichier "hostname" .err dans le dossier de données sur lequel MySQL fonctionne, essayez de rechercher une chaîne commençant par:
"Un mot de passe temporaire est généré pour roor @ localhost"
vous pouvez utiliser
puis barre oblique suivie de la chaîne que vous souhaitez rechercher
Appuyez ensuite sur n pour accéder au résultat suivant.
la source
Les réponses fournies ici ne semblent pas fonctionner pour moi, le truc s'est avéré être: ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
(réponse complète ici: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
la source
Système:
Procédure:
Ouvrez deux sessions shell, en vous connectant à l'une en tant qu'utilisateur root Linux et à l'autre en tant qu'utilisateur non root ayant accès à la
mysql
commande.Dans votre session racine, arrêtez l'écouteur mysqld normal et démarrez un écouteur qui contourne l'authentification par mot de passe ( remarque: il s'agit d'un risque de sécurité important car toute personne ayant accès à la
mysql
commande peut accéder à vos bases de données sans mot de passe. Vous pouvez fermer les sessions shell actives et / ou désactivez l'accès au shell avant de faire cela):# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
Dans votre session non root, connectez-vous à mysql et définissez le mot de passe root mysql:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
Dans votre session racine, tuez l'instance sans mot de passe de mysqld et restaurez l'écouteur normal de mysqld en service:
# kill %1
# systemctl start mysqld
Dans votre session non root, testez le nouveau mot de passe root que vous avez configuré ci-dessus:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
la source
J'ai résolu cela d'une manière différente, cela peut être plus facile pour certains.
Je l'ai fait de cette façon parce que j'ai essayé de démarrer en mode sans échec mais je ne peux pas me connecter avec l'erreur: ERREUR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)
Ce que j'ai fait, c'est de me connecter normalement en tant que root:
Ensuite, j'ai créé un nouveau super utilisateur:
Puis connectez-vous en tant que myuser
Essayer de changer le mot de passe ne m'a donné aucune erreur mais n'a rien fait pour moi alors j'ai abandonné et recréé l'utilisateur root
L'utilisateur root travaille maintenant avec le nouveau mot de passe
la source
Accédez à phpMyAdmin> config.inc.php> $ cfg ['Servers'] [$ i] ['password'] = '';
la source
phpmyadmin
.