Il semble que je ne puisse plus me connecter à MySQL (en fait MariaDB) en tant qu'utilisateur root dans Ubuntu 15.04 (j'ai mis à jour de 14.04 à 14.10)
J'ai déjà essayé de réinitialiser le mot de passe.
Qu'est-ce que est fonctionne, est Sudo mysql
- mais je souhaite me connecter en tant que root à partir d'un autre utilisateur à l'aide de mysql -uroot -p
. Lorsque je crée un nouvel utilisateur avec tous les droits et mot de passe, cela fonctionne.
Est-ce que quelque chose a changé?
Donc vous êtes parti de la version 5.5.44-1ubuntu0.14.04.1
à 10.0.20-0ubuntu0.15.04.1
. Cela semble plus effrayant que ça, c'est juste ce qu'ils ont appelé 5.6 pour une raison quelconque .
Il semble que les versions les plus récentes de MariaDB aient ajouté un plugin à la table user pour forcer l'authentification par un chemin fixe. Dans ce cas, l'utilisateur de la base de données root
est forcé le plugin unix_socket
. Cela semble également être appelé auth_socket
dans certains cercles.
Quoi qu'il en soit, ce plugin restreint les choses afin que seul l'utilisateur système root
puisse se connecter en tant que base de données root
name__, sans mot de passe. C'est un choix de sécurité qu'ils ont fait.
Vous pouvez annuler ceci par en masquant le champ du plugin pour l'utilisateur root
name__ :
Shell$ Sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
Un mot de passe spécifié devrait fonctionner après cela. Je ne sais pas à quel point c'est souhaitable.