Maison > Article > base de données > Comment créer des utilisateurs et accorder une autorisation dans Mysql8
mysql -uroot -p
create user 'testuser1'@'%' identified by '123456';
Ici, cela signifie créer un utilisateur testuser1 qui ne restreint pas la connexion IP
Le mot de passe de l'utilisateur est 123456
% signifie que la connexion IP n'est pas restreinte
Actualiser les autorisations. à chaque fois Actualiser après avoir apporté des modifications
flush privileges;
Vous pouvez vous connecter à l'utilisateur en créant une connexion locale
Lorsque vous l'ouvrez, vous constaterez qu'il n'y a qu'un seul schéma d'information de base de données
grant all privileges on test_grant.* to 'testuser1'@'%' with grant option;
Ici, cela signifie donner à l'utilisateur testuser1 a donné toutes les autorisations à toutes les tables de la base de données test_grant (c'est la base de données que j'ai créée auparavant)
avec l'option d'octroi signifie que l'utilisateur peut accorder des autorisations à d'autres utilisateurs, mais ne peut pas dépasser la autorisations de l'utilisateur
Afficher à ce moment, l'utilisateur testuser1 a une base de données test_grant supplémentaire
tous les privilèges ici peuvent être remplacés par sélectionner, insérer, mettre à jour, supprimer, supprimer, créer, etc.
show grants for 'testuser1'@'%';
revoke all privileges on test_grant.* from 'testuser1'@'%';
Cela signifie révoquer toutes les autorisations de fonctionnement de l'utilisateur testuser1 sur la base de données test_grant
Remarque : si vous écrivez comme ceci ici, vous constaterez que vous disposez toujours de la base de données test_grant lorsque vous l'ouvrez. (mais vous ne pouvez pas faire fonctionner la base de données). C'est parce que je l'ai utilisé lorsque je l'ai créé auparavant. En ce qui concerne l'option d'octroi, car tous les privilèges sont tous des autorisations sauf avec l'option d'octroi
Exécutez l'instruction suivante pour récupérer toutes les autorisations de l'utilisateur.
revoke all privileges,grant option from 'testuser1'@'%';
drop user 'testuser1'@'%';
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
Vous pouvez également aimer ceci
SELECT User, Host FROM mysql.user;
show grants for ‘#userName'@'#host';
#userName représente le nom de l'utilisateur
#host représente le autorisations d'accès, comme suit
% représente le caractère générique de toutes les autorisations d'adresse d'hôte (accessibles à distance)
localhost est des autorisations locales (non accessibles à distance)
Spécifiez les autorisations d'accès IP spéciales telles que 10.138.106.102
????Ce que ce chien veut voir, c'est testUser
show grants for 'testUser'@'%';
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!