Créer un nouvel utilisateur dans MySQL et donner un accès complet à une base de données
Je veux créer un nouvel utilisateur dans MySQL et donner un accès complet à une seule base de données, dire dbTest
, que j'ai créer avec une commande comme create database dbTest;
. Quelles seraient les commandes MySQL pour le faire?
Vous devez vous connecter pour publier un commentaire.
Essayez ceci pour créer l'utilisateur:
Essayez ceci pour lui donner accès à la base de données
dbTest
:Si vous exécutez le code/site l'accès à MySQL sur la même machine, le nom d'hôte serait localhost.
Maintenant, la briser.
GRANT
- C'est la commande utilisée pour créer des utilisateurs et des droits d'accès à des bases de données, tables, etc.ALL PRIVILEGES
- Ce qu'il indique à l'utilisateur aura tous les privilèges standard. Cela n'inclut pas le privilège d'utiliser la SUBVENTION de commande cependant.dbtest.*
- Ce instructions MySQL pour appliquer ces droits pour une utilisation dans l'ensemble de la base de données dbtest. Vous pouvez remplacer le * avec certains noms de table ou de stocker des routines si vous le souhaitez.TO 'user'@'hostname'
- "utilisateur" est le nom d'utilisateur du compte d'utilisateur que vous créez. Remarque: Vous devez avoir les guillemets simples là-bas. 'hostname' dit à MySQL ce qui héberge l'utilisateur peut se connecter de. Si vous souhaitez uniquement à partir de la même machine, utiliserlocalhost
IDENTIFIED BY 'password'
- Comme vous l'avez deviné, c'définit le mot de passe pour cet utilisateur.sudo apt-get install vim
pour créer un linux compte pour quelqu'un.CREATE USER
de commande de votre réponse, que l'OP demande 🙂 [même si c'est auto-explicatif pour vous]Syntaxe
Pour créer un utilisateur MySQL/MariaDB 5.7.6 et de plus, l'utilisation
CRÉER un UTILISATEUR
syntaxe:alors à accorder à tous l'accès à la base de données (par exemple,
my_db
), l'utilisationBOURSE
Syntaxe, par exempleOù
ALL
(priv_type) peuvent être remplacés par privilège spécifique commeSELECT
,INSERT
,UPDATE
,ALTER
, etc.Puis de recharger nouvellement affecté les autorisations d'exécution:
Exécution
Pour exécuter les commandes ci-dessus, vous devez exécuter
mysql
de commande et de taper dans l'invite de commandes, puis déconnexion parquit
de commande ou Ctrl-D.À exécuter à partir du shell, utilisez
-e
paramètre (remplacerSELECT 1
avec l'une des commandes ci-dessus):ou instruction d'impression à partir de l'entrée standard:
Si vous avez Accès refusé ci-dessus, indiquez
-u
(pour l'utilisateur) et-p
(mot de passe) des paramètres, ou à long terme d'un accès à vos informations d'identification dans~/.my.cnf
, par exempleIntégration Shell
Pour les personnes non familières avec la syntaxe de MySQL, voici handy shell fonctions qui sont faciles à retenir et à utiliser (pour les utiliser, vous devez charger le shell pour les fonctions plus bas).
Ici est un exemple:
Pour utiliser les commandes ci-dessus, vous devez les copier&collez les fonctions suivantes dans votre rc fichier (par exemple,
.bash_profile
) et de recharger votre coque ou de la source du fichier. Dans ce cas il suffit de tapersource .bash_profile
:Remarque: Si vous préférez ne pas laisser de trace (comme les mots de passe) dans votre historique Bash, vérifier: Comment prévenir les commandes de montrer dans bash histoire?
~/.my.cnf
comme suggéré ci-dessus.À un utilisateur de créer et accorder tous les privilèges sur une base de données.
Connecter à MySQL:
Maintenant créer et accorder des
Utilisateur anonyme (pour tests locaux seulement)
Alternativement, si vous voulez juste pour octroyer un accès illimité à une base de données (par exemple, sur votre ordinateur local pour une instance de test, vous pouvez accorder l'accès à l'utilisateur anonyme, comme suit:
Être conscient
C'est très bien pour les données inutiles dans le développement. Ne pas le faire avec n'importe quoi vous vous souciez.
ignorer -p option, si un utilisateur mysql n'a pas de mot de passe ou appuyez simplement sur "[Enter]" bouton pour by-pass. cordes entouré par des accolades ont besoin d'remplacées par des valeurs réelles.
Vous pouvez créer de nouveaux utilisateurs à l'aide de la CRÉER UN UTILISATEUR déclaration, et de donner des droits à l'aide de SUBVENTION.
Pour moi cela a fonctionné.
où
La commande ci-dessous ne fonctionnera que si vous voulez créer un nouvel utilisateur lui donner tous les accès à une base de données spécifique(pas toutes les bases de données Mysql) sur votre localhost.
Cela accorder tous les privilèges d'une base de données
test_database
(dans votre casdbTest
) pour cet utilisateur sur localhost.Vérifier que les autorisations de commande ci-dessus délivré à l'utilisateur en exécutant la commande ci-dessous.
Juste au cas où, si vous souhaitez limiter l'accès d'un utilisateur à une seule et même table