Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas me connecter à MySQL en tant que « root » dans Ubuntu 16.04 ?

Pourquoi ne puis-je pas me connecter à MySQL en tant que « root » dans Ubuntu 16.04 ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 11:53:02799parcourir

Why Can't I Connect to MySQL as 'root' in Ubuntu 16.04?

Accès à la base de données refusé pour l'utilisateur « root » dans Ubuntu 16.04

Lors de l'accès à une base de données à l'aide d'un serveur Web dans Ubuntu 16.04, vous pouvez rencontrer l'erreur "SQLSTATE[HY000] [1698] Accès refusé pour l'utilisateur 'root'@'localhost'". Ce problème survient malgré la création de nouveaux utilisateurs avec tous les privilèges.

Restrictions des utilisateurs root dans MySQL 5.7

La cause première de cette erreur réside dans les modifications introduites dans MySQL 5.7, qui restreint l'utilisation de l'utilisateur 'root' sans privilèges sudo. Dans les versions précédentes, les utilisateurs pouvaient accéder à MySQL en tant que « root » sans élever leurs privilèges en utilisant la commande « mysql -u root ». Cependant, dans MySQL 5.7, cette approche n'est plus possible.

Solution de contournement

Pour résoudre ce problème, vous devez créer un nouvel utilisateur avec les privilèges nécessaires et utiliser cet utilisateur au lieu de « root » lors de l'établissement de connexions à la base de données à partir de votre application PHP ou d'autres outils sans ligne de commande.

Code PHP

Dans votre code PHP, remplacez le nom d'utilisateur et mot de passe avec les informations d'identification de l'utilisateur nouvellement créé :

<code class="php">protected $name = 'new_user';
protected $pass = 'new_password';</code>

Accès root depuis la ligne de commande

Bien que vous ne puissiez pas utiliser l'utilisateur « root » directement dans Pour les applications GUI ou sans ligne de commande, vous pouvez toujours accéder à MySQL en tant que « root » à partir de la ligne de commande en utilisant sudo :

sudo mysql -u root

N'oubliez pas que cette approche élève vos privilèges et ne doit être utilisée que lorsque cela est nécessaire. Il est recommandé de créer un utilisateur dédié à la gestion de la base de données et d'utiliser cet utilisateur au lieu de « root » pour des raisons de sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn