J'ai une solution !
Lorsque vous réinitialisez le mot de passe Root à l'étape 2), changez également le plugin auth en mysql_native_password
:
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root'; # THIS LINE
flush privileges;
quit;
Cela m'a permis de me connecter avec succès !
Solution à code complet
1. exécuter les commandes bash
1. Tout d'abord, exécutez les commandes bash suivantes
sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql
2. puis lancer les commandes mysql => copier coller ceci au cli manuellement
use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
flush privileges;
quit;
3. exécuter d'autres commandes bash
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p
4. Problème de prise (d'après vos commentaires)
Lorsque vous voyez un prise de courant erreur, une communauté est venue avec 2 solutions possibles :
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
(merci à @Cerin)
Ou
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
(merci à @Peter Dvukhrechensky)
Trajets aveugles et erreurs de bord éventuelles
Utiliser 127.0.0.1 au lieu de localhost
mysql -uroot # "-hlocalhost" is default
Peut conduire à l'erreur "fichier manquant" ou slt.
mysql -uroot -h127.0.0.1
Ça marche mieux.
Ignorer le problème des prises
J'ai trouvé de nombreuses façons de créer mysqld.sock
modifier les droits d'accès ou établir un lien symbolique. Ce n'était pas le problème après tout.
Sauter le my.cnf
fichier
Le problème n'était pas non plus présent. Si vous n'êtes pas sûr, ceci pourrait vous aider .
2 votes
Content que ça marche bien pour vous :) merci de nous avoir contactés !