Maison > Article > base de données > Comment réparer l'erreur \"SQLSTATE[HY000] [1698] Accès refusé pour l'utilisateur \'root\'@\'localhost\'\" dans Ubuntu 16.04 ?
Introduction :
Lorsque vous tentez d'accéder à une base de données MySQL depuis PHP ou phpMyAdmin, vous pouvez rencontrer l'erreur suivante :
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Cette erreur indique que l'utilisateur qui tente de se connecter à la base de données ne dispose pas des éléments nécessaires. privilèges.
Solution :
Une modification récente dans MySQL 5.7 empêche l'utilisateur root de se connecter à la base de données sans privilèges élevés. Pour résoudre ce problème, suivez ces étapes :
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
Modifiez le code PHP pour vous connecter à l'aide des nouveaux identifiants utilisateur :
<code class="php">protected $name = 'newuser'; protected $pass = 'password';</code>
Si vous souhaitez continuer à utiliser l'utilisateur root, vous devrez élever vos privilèges en exécutant des commandes avec sudo :
<code class="sh">sudo mysql -u root</code>
Considérations supplémentaires :
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!