Je sais que certains utilisateurs peuvent dire qu'il s'agit d'une duplication, mais sérieusement, j'ai passé au peigne fin les réponses et celles sur Internet plus d'une demi-journée et je suis tellement frustré que je vais exploser.
Maintenant que cette explication thérapeutique est terminée, j’ai installé MySql Server et MariaDb 10 à partir des référentiels Ubuntu sur Ubuntu 12.04 LTS et saisi le mot de passe root lorsqu’il est en cours d’installation aussi doucement qu'un couteau dans le beurre.
Maintenant, la véritable frustration commence dans l’un des deux scénarios suivants:
ou
2.Quand j'entre la commande mysql -u root -p et que le mot de passe est demandé.
S'il vous plaît, j’ai vraiment besoin d’aide à ce sujet - j’ai perdu le compte du nombre de fois où j’ai eu à désinstaller et à réinstaller MySQL ou MariaDb parce que cette douleur dans le cou était une erreur.
Je pense que j’ai peut-être compris le problème - il s’agit d’un long mot de passe.Je pense que cela devrait être signalé comme un bogue aux développeurs MySQL et MariaDB, car lors de l’installation, vous pouvez créer un mot de passe de plus de 100 caractères. Connectez-vous à MySQL ou MariaDB quand il est en production, vous obtenez l'erreur ci-dessus.
Je suis donc ravi d'avoir compris cela après tant de souffrances - étonnant que cela n'ait pas été identifié comme un bug compte tenu du nombre d'années de production de MySQL.
Donc, une solution consiste essentiellement à suivre les étapes suivantes pour résoudre le problème ci-dessus:
Commencez avec un mot de passe vide sur un serveur de non-production et si cela fonctionne
Si vous réussissez à l'étape 1, sécurisez votre installation mysql en tapant la commande suivante: Sudo/usr/bin/mysql_secure_installation et essayez d'entrer un mot de passe plus complexe - combinaison de lettres minuscules, de chiffres et de symboles et les lettres majuscules d'au moins 8 caractères devraient convenir.
Je recommande de commencer avec 8 et de monter vers le haut jusqu'à atteindre un plafond avec le nombre de caractères que vous pouvez entrer.
Ce qui précède devrait être un pas dans la bonne direction pour sécuriser votre serveur MySQL.
Vérifiez le fichier: /etc/mysql/mariadb.conf.d/mysqld.cnf
vérifier si cette ligne existe:
plugin-load-add = auth_socket.so
puis allez à MariaDB:
Sudo mysql -u root
et faire ces modifications:
MariaDB [(none)]>use mysql;
MariaDB [(none)]>update user set plugin=' ' where User='root';
MariaDB [(none)]>flush privileges;
MariaDB [(none)]>exit
Je n'avais pas accès à mysqlworkbench
, mais après avoir appliqué cette solution, tout s'est bien passé ...
Essayez cette commande dans le terminal:
mysqladmin -u root -pcurrentpassword password 'newpassword'
Ensuite, tapez:
mysql -u root -pnewpassword
La meilleure réponse est ici
Cela explique ce qui se passe. Cela explique pourquoi vous ne devriez pas simplement désactiver le plugin. Il explique comment le contourner (connectez-vous à l’aide de Sudo, créez un nouveau compte superutilisateur qui n’est pas un compte root).
Notez que this la solution par david-leonardo ne survit pas au redémarrage.