Maison > Article > base de données > Explication détaillée d'exemples d'ajout de nouvelles autorisations utilisateur dans MySQL
Il existe 2 manières différentes d'ajouter des utilisateurs : en utilisant l'instruction GRANT ou en manipulant directement la table d'attribution MySQL. Une meilleure approche consiste à utiliser les instructions GRANT, car elles sont plus concises et semblent moins sujettes aux erreurs.
L'exemple suivant montre comment installer un nouvel utilisateur à l'aide du client MySQL . Ces exemples supposent que les autorisations sont installées par défaut comme décrit dans la section précédente. Cela signifie que pour apporter des modifications, vous devez être sur la même machine que celle sur laquelle MySQL est en cours d'exécution, vous devez être connecté en tant qu'utilisateur root MySQL et l'utilisateur root doit disposer des autorisations d'insertion et de rechargement des autorisations administratives sur la base de données MySQL. . De plus, si vous modifiez le mot de passe de l'utilisateur root, vous devez le spécifier avec la commande MySQL suivante.
Vous pouvez ajouter de nouveaux utilisateurs en émettant une déclaration GRANT :
Le code est le suivant :
shell> mysql --user=root mysql mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost; mysql> GRANT USAGE ON *.* TO dummy@localhost;
Ces déclarations GRANT installent 3 nouveaux utilisateurs :
monty : Un superutilisateur complet qui peut se connecter au serveur de n'importe où, mais doit utiliser un mot de passe ("quelque chose" pour ce faire. Notez que nous devons émettre une instruction GRANT pour monty@localhost et monty@"%" . Si nous ajoutons l'entrée localhost, l'entrée créée par mysql_install_db pour l'entrée utilisateur anonyme de localhost sera prioritaire lorsque nous nous connecterons depuis localhost, car elle a une valeur de champ Host plus spécifique, elle apparaît donc plus tôt dans l'ordre de tri de la table utilisateur
admin : Un utilisateur qui peut se connecter depuis localhost sans mot de passe et qui dispose des droits d'administration de rechargement et de traitement. Cela permet à l'utilisateur d'exécuter les commandes mysqladmin reload, mysqladmin rafraîchissement et mysqladmin
flush
-*, ainsi que le processus mysqladmin. list ne bénéficient pas d'autorisations sur la base de données. Elles peuvent être accordées ultérieurement en émettant une autre instruction GRANT factice : un utilisateur peut se connecter sans mot de passe, mais uniquement. à partir de l'hôte local. Les autorisations globales sont définies sur "N" - le type d'autorisation USAGE vous permet de configurer un utilisateur sans autorisation. Cela suppose que vous accorderez des autorisations liées à la base de données ultérieurement. Vous pouvez également émettre des instructions INSERT directement. les mêmes informations d'accès utilisateur, puis dites au serveur de charger à nouveau la table d'autorisation :
Le code est le suivant :
[Recommandations associées]
shell> mysql --user=root mysql mysql> INSERT INTO user VALUES('localhost','monty',PASSW ORD ('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') mysql> INSERT INTO user SET Host='localhost',User='admin', Reload_priv='Y', Process_priv='Y'; mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','dummy',''); mysql> FLUSH PRIVILEGES;1.
Tutoriel vidéo gratuit MySQL
2 Exemple détaillé de la façon dont PHP stocke les images dans MySQL
3. >Utilisez mysqldump pour sauvegarder Explication détaillée des exemples et des tables de récupération
4Explication détaillée des exemples de remplacement de contenu dans la base de données par des expressions régulières
. 5.MySQL change le mot de passe et explication détaillée des exemples de restrictions d'accès
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!