connexion à MySQL depuis la ligne de commande

225

Comment pouvez-vous vous connecter à MySQL à partir de la ligne de commande sur un Mac? (c'est-à-dire montrez-moi le code)

Je fais un tutoriel PHP / SQL, mais il commence par supposer que vous êtes déjà dans MySQL.

Leahcim
la source

Réponses:

404

Voir ici http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

Les options ci-dessus signifient:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

Regardez le lien, c'est détaillé là-bas!


Comme déjà mentionné par Rick , vous pouvez éviter de passer le mot de passe dans le cadre de la commande en ne passant pas le mot de passe comme ceci:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

Personnes qui modifient cette réponse: VEUILLEZ NE PAS AJOUTER D'ESPACE entre -petPASSWORD

Nishant
la source
merci, 2 questions 1) devez-vous inclure le "- u" "- p" etc, ou ceux-ci sont-ils remplacés par le nom d'utilisateur etc 2) s'il n'y a pas de base de données créée, laissez-vous simplement ce champ vide?
Leahcim
2
Il est possible de configurer l'authentification MySQL en fonction de l'utilisateur auquel vous vous êtes connecté, ou de ne pas vous authentifier du tout, mais ce n'est pas une bonne idée, la spécification du mot de passe sur la ligne de commande est même un léger risque pour la sécurité car cela finit dans votre commande tables d'historique et de processus. Si vous omettez le mot de passe, il vous le demandera.
dj_segfault
@Michael 1) mis à jour. le ALL-CAPS doit être remplacé par des valeurs réelles. laissez les -u, -p, -h tels quels 2) oui. Après la connexion, saisissez show databasesla liste des bases de données.
Nishant
3
@dj_segfault à droite. Donc, si vous partez, -psans spécifier le mot de passe, il vous demandera le mot de passe.
Nishant
Si vous n'avez actuellement pas de base de données créée, vous devez utiliser la commande mysqladmin pour en créer une. Mais je crois que lorsque vous installez le serveur, la base de données "mysql" par défaut est créée, qui contient toutes les informations de schéma et d'authentification. Vous pouvez vous y connecter (si vous disposez de privilèges suffisants) et créer d'autres bases de données à partir de là.
dj_segfault
129

La meilleure pratique serait de mysql -u root -p. Ensuite, MySQL vous demandera un mot de passe après avoir appuyé sur Entrée.

Meule
la source
25
Pour élaborer, cela empêche votre mot de passe d'apparaître .bash_history. En utilisant la méthode actuelle la plus votée, si quelqu'un y accède $HOME(et donc .bash_history), il a également vos détails d'authentification - effrayant! Ce genre d'intrusion peut (et se produit ) ...
Jeremy
Vous pouvez exécuter une commande bash sans qu'elle apparaisse dans le .bash_profie. En savoir plus ici: commandlinefu.com/commands/view/1512/…
Skid Kadda
@Jeremy Non seulement dans .bash_historymais dans topet plus d'outils aussi! Vous pouvez même sécuriser vos fichiers, il suffit de partager l'ordinateur avec un autre utilisateur légitime.
Melebius
+1 parce que mon mot de passe contient des symboles spéciaux et qu'il ne sera pas analysé lorsqu'il fait partie de la commande, il doit être fait séparément.
Jacksonkr
10

Utilisez la commande suivante pour vous connecter à votre base de données MySQL

mysql -u USERNAME -h HOSTNAME -p

Swamy
la source
9

Après avoir exécuté MySQL Shell et vous avez vu ce qui suit:

mysql-js>

Tout d'abord, vous devez:

mysql-js>\sql

Deuxièmement:

 mysql-sql>\connect username@servername (root@localhost)

Et enfin:

Enter password:*********
Prénom / nom de famille
la source
3

Une façon de se connecter directement à MySQL en utilisant le nom d'utilisateur et le mot de passe MySQL appropriés est:

mysql --user=root --password=mypass

Ici,

root is the MySQL username
mypass is the MySQL user password

Ceci est utile si vous avez un mot de passe vide.

Par exemple, si vous avez un utilisateur MySQL appelé rootavec un mot de passe vide, utilisez simplement

mysql --user=root --password=
arsho
la source
0

Cela a fonctionné pour moi :: -

mysql --host=hostNameorIp --user=username --password=password  

ou

mysql --host=hostNameorIp --user=username --password=password database_name
Anand Tiwari
la source