web-dev-qa-db-fra.com

Vous ne pouvez plus vous connecter à MySQL en tant que root?

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é?

8
Alex

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 rootest 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 rootpuisse se connecter en tant que base de données rootname__, 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 rootname__ :

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.

6
Oli