Je veux commencer à écrire des requêtes dans MySQL.
show grants
spectacles:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
Je n'ai pas d'identifiant d'utilisateur mais quand je veux créer un utilisateur, je n'ai pas de privilèges, je ne sais pas non plus comment créer des privilèges quand même je n'ai pas un utilisateur!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
J'ai essayé de me connecter en tant que root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
aurait dû être créé lorsque vous avez installé MySQL.mysql -u root -p
. Ensuite, vous aurez toutes les autorisations sur le serveur de base de données et vous pourrez créer d'autres utilisateurs.Réponses:
Non, vous devez exécuter
mysql -u root -p
dans bash, pas sur la ligne de commande MySQL. Si vous êtes dans mysql, vous pouvez quitter en tapant exit .la source
Vous devrez peut-être configurer un compte root pour votre base de données MySQL:
Dans le type de terminal:
Et puis pour appeler le client MySQL:
la source
J'ai été amené ici par un problème différent. Chaque fois que j'ai essayé de me connecter, j'ai reçu ce message car au lieu de m'authentifier correctement, je me suis connecté en tant qu'utilisateur anonyme. La solution à mon problème était:
Pour voir quel utilisateur vous êtes et dont vous disposez des autorisations:
Pour supprimer l'utilisateur anonyme embêtant:
la source
C'est quelque chose à voir avec les autorisations des utilisateurs. Donner des subventions appropriées résoudra ce problème.
Étape [1]: Ouvrez le terminal et exécutez cette commande
Sortie [1]: Cela devrait vous donner l'invite mysql ci-dessous
Étape 2]:
Syntaxe:
Étape [3]: Sortez de l'invite mysql actuelle en entrant
quit
/exit
command ou en appuyant surCtrl+D
.Étape [4]: Connectez-vous à votre nouvel utilisateur
Étape [5]: créer la base de données
la source
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
j'obtiens là l'erreur: ERREUR 1227 (42000): Accès refusé; vous avez besoin d'au moins un des privilèges CREATE USER pour cette opérationVous voudrez peut-être essayer la commande de connexion complète:
où serait l'hôte
127.0.0.1
.Faites cela juste pour vous assurer que la coopération existe.
L'utilisation
mysql -u root -p
me permet de faire beaucoup de recherches dans la base de données, mais refuse toute création de base de données en raison d'un paramètre de chemin.la source
Tout d'abord, si vous n'êtes pas familier avec la ligne de commande, essayez d'utiliser phpmyadmin à partir de votre navigateur Web. Cela garantira que vous avez réellement créé une base de données mysql et un nom d'utilisateur.
Voici comment vous vous connectez à partir de la ligne de commande (bash):
Par exemple:
la source
-p
est pour le mot de passe et vous l'utilisez pour transmettre le nom de la base de données. De plus, pour le mot de passe, il ne devrait pas y avoir d'espace b / w-p
et le mot de passe réel. Utilisez-D
pour vous connecter à une base de données spécifique.Si vous êtes dans un
MySQL
shell, quittez-le en tapant exit , ce qui vous ramènera à l'invite de commande.Maintenant, commencez
MySQL
par utiliser exactement la commande suivante:Si votre nom d'utilisateur est autre que root, remplacez 'root' dans la commande ci-dessus par votre nom d'utilisateur:
Il vous demandera ensuite le
MySQL
compte / mot de passe, et vousMySQL
n'afficherez alors aucun problème de privilège d'accès.la source
@Nickparsa… vous avez 2 problèmes:
1).
mysql -uroot -p
doit être tapé dans bash (également appelé votre terminal) et non dans la ligne de commande MySQL. Vous corrigez cette erreur en tapantdans votre ligne de commande MySQL. Vous êtes maintenant de retour dans votre ligne de commande bash / terminal.
2). Vous avez une erreur de syntaxe:
le point-virgule devant -p doit disparaître. La syntaxe correcte est:
tapez la syntaxe correcte dans votre ligne de commande bash. Entrez un mot de passe si vous en avez un; Sinon, appuyez simplement sur le bouton Entrée. Vous devriez obtenir une réponse similaire à celle-ci:
J'espère que cela t'aides!
la source
La plupart des développeurs se connectent au serveur (je suppose que vous avez un nom d'utilisateur et un mot de passe pour la base de données mysql), puis à partir de Bash, ils basculent pour
mysql> prompt
utiliser la commande ci-dessous (qui ne fonctionne pasCe qui doit être fait est d'utiliser la commande ci-dessus dans l'invite bash -> ce faisant, il vous demandera le mot de passe s'il est donné, il passera directement à l'invite mysql et
puis base de données, la table peut être créée une par une
J'ai fait face à une impasse similaire, alors partageant l'expérience
la source
J'ai eu la commande correcte par réponses ci-dessus, ce que j'ai manqué était sur le Workbench, où nous mentionnons 'Limiter la connectivité de l'hôte' pour l'utilisateur, il par défaut à "%" - changez cela en "localhost" et il se connecte bien par la suite!
la source