Accorder tous les privilèges à l'utilisateur root dans MySQL 8.0
Dans les versions précédentes de MySQL, accorder tous les privilèges à l'utilisateur root était simple en utilisant la commande GRANT. Cependant, dans MySQL 8.0, cette approche se heurte à des erreurs de syntaxe.
Erreur rencontrée
Lors de la tentative d'accorder tous les privilèges en utilisant la syntaxe :
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
l'erreur suivante se produit :
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'root' WITH GRANT OPTION' at line 1.
Révisé Approche
À partir de MySQL 8, la création d'utilisateurs avec la commande GRANT n'est plus prise en charge. Au lieu de cela, le processus en deux étapes suivant est nécessaire :
1. Créer l'utilisateur
Utilisez la commande CREATE USER pour créer l'utilisateur root :
CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
2. Accordez des privilèges
Ensuite, utilisez la commande GRANT pour accorder tous les privilèges :
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Étape finale
Pour vous assurer que les modifications prennent en compte effet, rincez le privilèges :
FLUSH PRIVILEGES;
Attention
L'octroi de tous les privilèges avec l'OPTION AVEC GRANT comporte des risques de sécurité importants. Il est recommandé de faire preuve de prudence et d'accorder uniquement les privilèges nécessaires. Consultez la documentation MySQL pour plus d'informations sur les privilèges utilisateur et la 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!