Plusieurs fois, vous devrez peut-être créer un nouvel utilisateur dans MySQL pour gérer l'accès des utilisateurs à votre base de données. Dans cet article, nous verrons comment créer un utilisateur dans MySQL à l'aide de la commande MySQL CREATE USER.
Comment créer un utilisateur dans MySQL
Voici les étapes pour créer un utilisateur dans MySQL. Nous utiliserons l'instruction MySQL CREATE USER pour créer un compte utilisateur.
Voici la syntaxe de la requête CREATE USER
CREATE USER [IF NOT EXISTS] username@hostname
IDENTIFIED BY 'password';
Dans la requête ci-dessus, vous devez spécifier le nom d'utilisateur et nom d'hôte comme nom d'utilisateur@nom d'hôte après les mots-clés CREATE USER.
Le nom d'utilisateur est le nom de l'utilisateur (par exemple, test_user) et le nom d'hôte est l'hôte (par exemple, 127.0.0.1) à partir duquel l'utilisateur peut se connecter à votre base de données.
Si vos utilisateurs accèdent à la base de données à partir de la même adresse IP hôte que celle du serveur de base de données, vous pouvez utiliser 127.0.0.1 ou localhost comme nom d'hôte
mot de passe est le mot de passe (par exemple pass123) pour ce nouvel utilisateur.
Vous pouvez éventuellement utiliser le mot-clé IF NOT EXISTS pour créer un nouvel utilisateur uniquement s'il n'existe pas.
Lecture bonus :comment créer une base de données dans MySQL
Exemples MySQL CREATE USER
Voici un exemple de requête MySQL CREATE USER pour créer un nouvel utilisateur.
CREATE USER 'test_user'@127.0.0.1 IDENTIFIED BY 'pass123';
L'utilisateur ci-dessus ne peut se connecter qu'à partir de 127.0.0.1 (également appelé localhost), c'est-à-dire à partir du même hôte où se trouve votre base de données. Ce nouvel utilisateur ne pourra pas se connecter à votre base de données à partir d'une autre IP (autres ordinateurs portables, postes de travail, etc.).
Si vous souhaitez que votre utilisateur puisse se connecter à partir d'une adresse IP distante (par exemple, 54.245.23.21), spécifiez-la comme votre nom d'hôte
CREATE USER 'test_user'@54.245.23.21 IDENTIFIED BY 'pass123';
Vous pouvez également utiliser des noms de domaine et des points de terminaison à la place du nom d'hôte. Voici un exemple de nom d'utilisateur de base de données pour Amazon RDS. Nous utiliserons le point de terminaison RDS (mysql–instance1.123456789012.us-east-1.rds.amazonaws.com
) pour le nom d'hôte.
CREATE USER 'test_user'@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com IDENTIFIED BY 'pass123';
Lecture bonus :comment créer une table dans MySQL
Si vous omettez le nom d'hôte dans la requête ci-dessus, cela permettra au nouvel utilisateur de se connecter depuis n'importe quel hôte.
Voici un exemple
CREATE USER 'test_user'@ IDENTIFIED BY 'pass123';
Dans la requête ci-dessus, vous pouvez également utiliser username@% (par exemple test_user@%)
Si le nom d'utilisateur et le nom d'hôte contiennent des caractères spéciaux, vous devez spécifier le nom d'utilisateur et le nom d'hôte entre guillemets simples ('), guillemets doubles (') ou backticks (`). Voici un exemple.
CREATE USER 'test_user#1'@127.0.0.1 IDENTIFIED BY 'pass123';
Lecture bonus :Comment ajouter une clé étrangère dans MySQL
Veuillez noter que le nouvel utilisateur créé n'aura aucun privilège, c'est-à-dire qu'il ne pourra interroger aucune base de données. Pour cela, vous devez accorder des privilèges d'utilisateur à l'aide de l'instruction GRANT.
Voici un exemple d'octroi de tous les privilèges à un nouvel utilisateur, pour la base de données sample_db
mysql> grant all privileges on sample_db.* to 'test_user#1'@127.0.0.1;
J'espère que vous pouvez maintenant créer un utilisateur dans MySQL.
Ubiq permet de visualiser facilement les données en quelques minutes et de les surveiller dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !