Maison  >  Article  >  base de données  >  Comment accorder des autorisations à distance aux utilisateurs dans MySQL en accordant tous les privilèges sur

Comment accorder des autorisations à distance aux utilisateurs dans MySQL en accordant tous les privilèges sur

PHPz
PHPzavant
2023-05-26 22:04:172354parcourir

mysql accorde tous les privilèges surDonner aux utilisateurs des autorisations à distance

mysql accorde tous les privilèges surDonner aux utilisateurs des autorisations à distance

  • # 🎜🎜#Changer le méthode des tableaux.

Lorsque votre compte ne permet pas la connexion à distance et ne peut se connecter qu'à localhost. À ce stade, tant que vous modifiez l'élément hôte dans la table utilisateur de la base de données mysql sur le serveur mysql, de localhost" à %, vous pouvez réaliser une connexion utilisateur à distance

Exécuter sur la machine où mysql est installé : #🎜 🎜#

1. mysql -u root -p

2 sélectionnez l'hôte, l'utilisateur de l'utilisateur où user='root';

#🎜🎜. #3. Mettre à jour l'utilisateur défini host = '%' où user='root' et host='localhost' ;

4. #

# 🎜🎜#

loi d'autorisation

  • [root@aaa-server ~]# mysql -u root -p
    MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by '123' with grant option;
    Query OK, 0 rows affected (0.00 sec)
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    MariaDB [(none)]> exit
    Bye

    🎜 🎜 #loi d'autorisation #. 🎜🎜#
  • Par exemple, si vous souhaitez que l'utilisateur utilise mypwd pour se connecter au serveur mysql depuis n'importe quel hôte

    #🎜. 🎜#Exécutez sur la machine sur laquelle mysql est installé :

    1. GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'mypwd' WITH
          GRANT OPTION;  
    2.FLUSH   PRIVILEGES;
    模板:
    grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
    flush privileges;

  • Si vous souhaitez autoriser l'utilisateur à se connecter au serveur mysql à partir de l'hôte avec l'adresse IP 192.168.1.4. et utilisez mypwd comme mot de passe

Exécuter sur la machine sur laquelle mysql est installé :

 GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.3' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;   
 FLUSH   PRIVILEGES;
    Notez que vous devez FLUSH LES PRIVILÈGES après autorisation sinon ; cela ne prendra pas effet immédiatement
  • Les bases de données de version supérieure ne peuvent pas être utilisées comme suit, accordez tous les privilèges sur *.* à "root"@"%" identifié par "xxxx" pour modifier les autorisations des utilisateurs#🎜; 🎜#

    mysql> SELECT @@VERSION;
    +-----------+
    | @@VERSION |
    +-----------+
    | 8.0.14    |
    +-----------+
    1 row in set (0.00 sec)

    Comment modifier les autorisations des utilisateurs dans les versions supérieures :
  • # 先创建远程用户,再授权
    mysql> create user 'root'@'%' identified by  'password';
    Query OK, 0 rows affected (0.03 sec)
    mysql> grant all privileges on *.* to 'root'@'%' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
Vérifiez à nouveau et constatez qu'il y a une racine %

mysql>  select User,Host from user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
————————————————

mysql déclaration d'autorisation description accorder tous les privilèges , créer des utilisateurs, supprimer des utilisateurs

mysql autorisation déclaration: #🎜🎜 #

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

all privilèges ==》 Indique que toutes les autorisations, y compris les autorisations d'ajout, de suppression, de modification et de vérification, sont toutes disponibles

#🎜 *#*.* == Toutes les tables sous toutes les bases de données#🎜🎜 # # 🎜🎜 ## 🎜🎜

root@% ==》 Toutes les tables sous toutes les bases de données, toutes les autorisations, toutes les autorisations, toutes toutes Toutes données à l'utilisateur root % signifie que l'utilisateur root peut se connecter et connectez-vous sur n'importe quelle machine

    Le mot de passe utilisé pour la connexion à distance est "123456".
  • #🎜 🎜#

  • Actualiser les privilèges
  • CREATE DATABASE 数据库名;
    CREATE USER '用户名'@'%' IDENTIFIED BY '密码';    
    GRANT all privileges ON 数据库名.* to '用户名'@'%' identified by '密码' WITH GRANT OPTION; 
    flush privileges;

    Créer un utilisateur : CRÉER UN UTILISATEUR 'jack'@'localhost' IDENTIFIÉ PAR 'test123' ;
  • Afficher les utilisateurs qui ont été créé dans la base de données : sélectionnez l'utilisateur, l'hôte de l'utilisateur ;--la table utilisateur se trouve dans la base de données nommée mysql fournie avec la base de données

    Delete user :supprimer de l'utilisateur où user = 'jack';
  • drop user ‘jack'@'%';
  • drop l'utilisateur supprimera toutes les informations de l'utilisateur, tandis que la suppression n'effacera que la table utilisateur, et d'autres informations telles que la table db existeront toujours.

    Vider le cache : FLUSH PRIVILEGES

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer