J'ai besoin de réinitialiser le mot de passe root de mon installation mysql locale mais cela ne me le permettra pas. J'ai essayé ça:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
Comment obtenir la réinitialisation du mot de passe? modifier 1 J'ai obtenu ceci:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
on dirait qu'un processus redémarre automatiquement mysql dès que je le tue ...
dpkg-reconfigure mariadb-server-10.1
fonctionné pour MariaDB, contrairement à toutes les autres solutions. Merci pour ça.dpkg-reconfigure
n'a pas demandé de mot de passe pour moi .. existe-t-il un moyen de le forcer?Référence tirée de ce blog:
Étape 1: Arrêtez le service MySQL.
Étape 2: Tuez tous les mysqld en cours d'exécution.
Étape 3: démarrage de mysqld en mode sans échec.
Étape 4: Démarrez le client mysql
Étape 5: Après une connexion réussie, veuillez exécuter cette commande pour modifier un mot de passe.
Étape 6: Vous pouvez mettre à jour le mot de passe root de mysql.
pour mysql> 5.7 utilisez ceci au lieu de ci-dessus:
Étape 7: veuillez exécuter cette commande.
Étape 8: Quittez la console mysql
Étape 9: tuer mysqld_safe et démarrer mysql
la source
sudo service mysql stop
, passudo stop mysql
sudo killall mysqld_safe && sudo service mysql start
, puis essayez de vousALTER USER root IDENTIFIED BY 'NEW_PASSWORD_HERE'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASS';
. Vous pouvez en lire plus ici . Théoriquement (je n'ai pas essayé), vous devriez pouvoir vous connecter à mysql sans mot de passe si vous "sudo su -" pour devenir root.ALTER USER ...
cela ne fonctionnerait pas, utilisezUPDATE mysql.user SET authentication_string = PASSWORD('NEWPASS'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
Sous Ubuntu 16.04 et
mysql-server-5.7
, la bonne réponse est le dernier commentaire d'Olafure,dpkg-reconfigure mysql-server-5.7
ne fonctionne plus.Maintenant dans la console mysql
>mysql
Redémarrez le bon
mysql
processusVérifiez votre nouveau mot de passe
la source
mysqld_safe
exécution, je reçois l'erreur:Directory '/var/run/mysqld' for UNIX socket file don't exists.
. J'ai donc courusudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
et le reste de la réponse ci-dessus fonctionne. Est-ce un bug sur Ubuntu 16? Je n'ai jamais rencontré tous ces problèmes de mise à jour des mots de passe auparavant.À partir de MySQL 5.7 , lors de l'installation initiale, si vous laissez le mot de passe vide, alors pour cet utilisateur, l'authentification sera basée sur le
auth_socket
plugin.La bonne façon de changer le mot de passe sera:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
la source
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
--skip-grant-tables
option et voir cette solution fonctionne.--skip-grant-tables
option, je ne peux même pas me connecter à MySQL en tant que root. Il ditERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysqld_safe
) en tant que root sans mot de passe. J'ai Ubuntu 18.04 et mysql-server-5.7. Cette réponse m'a aidé askubuntu.com/a/767252/585252 (voir la partie inférieure)Rien du reste des réponses ne semblait fonctionner pour moi. Voici ma solution:
Là-dedans:
Ensuite:
la source
2017-05-30T06:33:22.291126Z mysqld_safe Logging to syslog. 2017-05-30T06:33:22.294375Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-05-30T06:33:22.296874Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
c'est sur mysql 5.7 et ubuntu 18.04 .Créez un fichier avec ceci:
Arrêtez le serveur mysql et exécutez ceci:
Vérifiez ici pour plus de détails: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
la source