CREATE USER username
[IDENTIFIED BY "password"]
[options]
NB Un utilisateur tout juste créé ne possède aucune permission.
username
est la combinaison du nom utilisateur et de la machine source autorisée ('user'@'host'
)
Quelques exemples de combinaisons :
User | Host | Permissible Connections |
---|---|---|
‘fred’ | ‘h1.example.net’ | fred, se connectant à partir de h1.example.net |
’’ | ‘h1.example.net’ | N’importe quel utilisateur, se connectant à partir de h1.example.net |
‘fred’ | ’%’ | fred, se connectant à partir de n’importe quel hôte |
’’ | ’%’ | N’importe quel utilisateur, se connectant à partir de n’importe quel hôte |
‘fred’ | ’%.example.net’ | fred, se connectant à partir de n’importe quel hôte du domaine example.net |
‘fred’ | ‘x.example.%’ | fred, se connectant à partir de x.example.net ou x.example.com, x.example.edu, etc |
‘fred’ | ‘198.51.100.177’ | fred, se connectant à partir de l’adresse IP 198.51.100.177 |
‘fred’ | ‘198.51.100.%’ | fred, se connectant à partir de n’importe quel hôte dans le réseau 198.51.100 |
‘fred’ | ‘198.51.100.0/255.255.255.0’ | Identique à l’exemple précédent |
Les noms d’utilisateur (user
) sont limités à 32 caractères sous MySQL.
Cette longueur peut être réduite selon l’OS utilisé — par exemple les noms d’utilisateur Unix sont souvent limités à 8 caractères.
Certains utilisateurs sont réservés :
root@localhost
: super-adminmysql.sys@localhost
: utilisé par le schema sys
mysql.session@localhost
: utilisé en interne par les plugins pour accéder au serveurDifférentes options peuvent être ajoutées, par exemple:
Voir doc MySQL CREATE USER pour la description des options.
CREATE USER 'david'@'198.51.100.0/255.255.255.0';
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'francis'@'localhost' IDENTIFIED BY 'frank'
WITH MAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
MAX_USER_CONNECTIONS 2;
Même principe qu’à la création
Définition:
ALTER USER [IF EXISTS] username
[IDENTIFIED BY "password"]
[options]
Exemple:
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;
Définition:
SET PASSWORD FOR username = hash
Exemple:
SET PASSWORD FOR 'abe'@'host_name' = PASSWORD('eagle');
Définition:
RENAME USER username TO newname
Exemple:
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';
Définition:
SHOW CREATE USER username
Exemple:
SHOW CREATE USER 'tech'@'localhost'
/* CREATE USER 'tech'@'localhost'
IDENTIFIED WITH 'mysql_native_password' AS '*CAA7104F46B7680BA7AED696E4DE0F33F2225A1B'
REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK */
Définition:
DROP USER [IF EXISTS] username
Exemple:
DROP USER 'jeffrey'@'localhost';