GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment se connecter en tant que root dans Mysql ?

J'ai installé MySQL et lors de l'installation, on m'a demandé un mot de passe que j'ai entré, mais maintenant mon professeur dit que nous devrions pouvoir nous connecter en tant que root sans mot de passe.

Cela fonctionne mais je n'ai aucun privilège :

Cela ne fonctionne pas :

Cela non plus

Réponse acceptée :

Cause du problème

La configuration par défaut pour se connecter en tant que root user dans MySQL 5.7 nécessite l'utilisation d'un socket d'authentification. Cela peut être vérifié en interrogeant l'user tableau :

mysql> select user,authentication_string,plugin from user where user='root';
+------+-----------------------+-------------+
| user | authentication_string | plugin      |
+------+-----------------------+-------------+
| root |                       | auth_socket |
+------+-----------------------+-------------+
1 row in set (0.00 sec)

À partir de la documentation :

Le plug-in socket vérifie si le nom d'utilisateur du socket (le nom d'utilisateur du système d'exploitation) correspond au nom d'utilisateur MySQL spécifié par le programme client
au serveur. Si les noms ne correspondent pas, le plugin vérifie
si le nom d'utilisateur du socket correspond au nom spécifié dans la colonne authentication_string de la ligne de la table système mysql.user. Si une
correspondance est trouvée, le plugin autorise la connexion.

En d'autres termes, mysql par défaut n'a pas de mot de passe root défini - vous devez exécuter phpMyAdmin en tant que root ou via sudo (les deux sont une mauvaise idée pour des raisons de sécurité), ou vous modifiez la méthode d'authentification et réinitialisez le mot de passe root comme indiqué dans le didacticiel Digital Ocean.

Notez qu'à part le même nom, les utilisateurs de MySQL et les utilisateurs du système ne sont pas les mêmes. Vous pouvez avoir un utilisateur MySQL jdoe et n'ont pas un tel utilisateur sur le système hôte. Ainsi, root est l'utilisateur root de MySQL, pas l'utilisateur système.

Étapes pour changer le plugin et le mot de passe :

  1. ouvrez le terminal et exécutez sudo mysql -u root . Vous devriez voir un message d'accueil et mysql> rapide. Il s'agit du shell MySQL, qui est différent de votre shell de ligne de commande, donc seules les instructions SQL sont acceptées ici.

  2. Saisissez la séquence de requêtes SQL suivante :

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql>  UPDATE user SET plugin='mysql_native_password',authentication_string=PASSWORD('newpassword') WHERE user = 'root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
  3. Quittez et essayez de vous connecter :

    mysql> exit
    Bye
    
    $ sudo systemctl restart mysql
    $ sudo mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.7.21-1 (Debian)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    

Si tout se passe bien, vous devriez pouvoir vous connecter depuis phpMyAdmin via le nouveau mot de passe. Si quelque chose ne va pas, essayez de redémarrer le serveur sans vérification des autorisations (c'est l'étape numéro 3 du didacticiel Digital Ocean). Pour d'autres problèmes, n'hésitez pas à poser une autre question ici ou sur Administrateurs de base de données - Stack Exchange

En relation :Créer des fichiers LOG lors de la création de plusieurs fichiers DATA pour tempdb ?
Ubuntu
  1. Comment réinitialiser le mot de passe root MySql

  2. Comment réinitialiser le mot de passe root MySql

  3. Comment réinitialiser le mot de passe racine MySQL ou MariaDB

  4. Comment installer MySQL sur AlmaLinux 8

  5. Comment réinitialiser le mot de passe racine MySQL

Comment créer un utilisateur de base de données MySQL dans cPanel

Comment supprimer un utilisateur de base de données MySQL dans cPanel

Comment réinitialiser le mot de passe root oublié dans Ubuntu

Comment réinitialiser le mot de passe root MySQL

Comment ouvrir le gestionnaire de fichiers Ubuntu en tant qu'utilisateur root

Comment limiter l'utilisateur root dans CentOS