web-dev-qa-db-fra.com

comment se connecter à mysql et interroger la base de données depuis le terminal linux

J'utilise Debian Linux. J'ai une machine Linux sur laquelle MySQL est installé. Je peux me connecter à ma machine Linux en utilisant l'utilisateur root ainsi que d'autres utilisateurs. Je peux me connecter à la base de données mysql sur une machine Linux à partir d'une machine Windows en utilisant sqlyog. Maintenant, je veux exécuter des requêtes sur la machine Linux uniquement à l'aide du terminal Linux

J'ai essayé des choses suivantes sur le terminal

Je suis allé au répertoire racine puis au répertoire/var/lib

Je lance les commandes suivantes sur le terminal

mysqladmin -u root -p
mysqladmin -u root -ppassword

chaque fois que je reçois un message d'erreur suivant

ERREUR 1045 (28000) Accès refusé pour l'utilisateur 'root' @ 'localhost' (avec le mot de passe NO)

s'il vous plaît guidez-moi pour suivre

  1. Comment puis-je obtenir l'invite mysql dans un terminal linux?
  2. Comment j'arrête le serveur mysql depuis le terminal linux?
  3. Comment je démarre le serveur mysql à partir du terminal linux?
  4. Comment puis-je obtenir l'invite mysql dans un terminal linux?
  5. Comment me connecter au serveur mysql à partir du terminal linux?
  6. Comment résoudre l'erreur suivante?

ERREUR 1045 (28000) Accès refusé pour l'utilisateur 'root' @ 'localhost' (avec le mot de passe NO)

S'il vous plaît donnez-moi des solutions pour la question ci-dessus. Merci

94
Param-Ganak

1.- Comment puis-je obtenir l'invite mysql dans un terminal linux?

mysql -u root -p

À l'invite Enter password:, entrez le mot de passe root :)

Vous pouvez trouver d'autres références en tapant mysql --help ou à l'aide de manuel en ligne .

2. Comment puis-je arrêter le serveur mysql depuis un terminal linux?

Ça dépend. Les distributions basées sur Red Hat ont la commande service:

service mysqld stop

D'autres distributions nécessitent d'appeler directement le script init:

/etc/init.d/mysqld stop

3. Comment démarrer le serveur mysql depuis un terminal linux?

Identique au n ° 2, mais avec start.

4. Comment obtenir l'invite mysql dans un terminal linux?

Identique à # 1.

5. Comment me connecter au serveur mysql depuis un terminal linux?

Identique à # 1.

6. Comment résoudre l'erreur suivante?

Identique à # 1.

170

A votre première question:

mysql -u root -p

ou

mysqladmin -u root -p "your_command"

en fonction de ce que vous voulez faire. Le mot de passe vous sera demandé une fois que vous aurez appuyé sur enter! Je suppose que vous voulez vraiment utiliser mysql et pas mysqladmin.

Pour redémarrer ou arrêter le serveur MySQL sur Linux, cela dépend de votre installation, mais dans les dérivés courants de Debian, cela fonctionnera pour démarrer, arrêter et redémarrer le service:

Sudo /etc/init.d/mysql start
Sudo /etc/init.d/mysql stop
Sudo /etc/init.d/mysql restart
Sudo /etc/init.d/mysql status

Dans certaines distributions plus récentes, cela pourrait également fonctionner si MySQL est configuré en tant que service/démon.

Sudo service mysql start
Sudo service mysql stop
Sudo service mysql restart
Sudo service mysql status

Mais la question est vraiment impossible de répondre sans connaître votre configuration particulière.

8
flindeberg

A l'invite de commande, essayez:

mysql -u root -p

donnez le mot de passe lorsque vous y êtes invité.

5
quarkonium

Je suppose que vous cherchez à utiliser le client mysql, ce qui est une bonne chose et beaucoup plus efficace à utiliser que toutes les alternatives phpMyAdmin.

La bonne façon de se connecter avec le client en ligne de commande est en tapant:

mysql -u username -p

Remarquez que je n'ai pas tapé le mot de passe. Cela rendrait le mot de passe visible à l'écran, ce qui n'est pas bien dans un environnement multi-utilisateur!

Après avoir tapé cette touche de saisie, mysql vous demandera votre mot de passe.

Une fois connecté, vous aurez bien sûr besoin de:

use databaseName;

faire n'importe quoi.

Bonne chance.

5
stefgosselin

J'ai eu exactement le même problème avec mon ArchPS Linux aujourd'hui.

mysql -u root -p ne fonctionnait tout simplement pas, alors que mysql -u root -pmypassword fonctionnait.

Il s’est avéré que j’avais un fichier de périphérique/dev/tty cassé (le plus souvent après une mise à jour udev), donc mysql ne pouvait pas l’utiliser pour une connexion interactive.

J'ai fini par enlever/dev/tty et le recréer avec mknod /dev/tty c 5 1 et chmod 666 /dev/tty. Cela a résolu le problème mysql et quelques autres problèmes.

4
user789877

Pour arrêter ou démarrer mysql sur la plupart des systèmes Linux, les éléments suivants devraient fonctionner:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Les autres réponses semblent bonnes pour accéder au client mysql à partir de la ligne de commande.

Bonne chance!

2
baraboom
  1. vous devriez utiliser la commande mysql. C'est un client en ligne de commande pour le SGBDR mysql, et vient avec la plupart des installations de mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Pour arrêter ou démarrer la base de données mysql (vous aurez rarement besoin de le faire "à la main"), utilisez le script d'initialisation approprié avec le paramètre stop ou start, généralement /etc/init.d/mysql stop. Cela dépend toutefois de votre distribution Linux. Certaines nouvelles distributions encouragent le style service mysql start.

  3. Vous vous connectez à l'aide de mysql sql Shell.

  4. L'erreur vient probablement du double '-p'. Vous pouvez fournir -ppassword ou seulement -p et vous serez invité à entrer votre mot de passe de manière interactive. Notez également que certaines instalations peuvent utiliser mysql (non root) user en tant qu'administrateur. Vérifiez votre configuration sqlyog pour obtenir des paramètres de connexion opérationnels.

2
cezio

si vous n’avez toujours pas accès à la base de données, 1. Dans le message d’erreur ur, aucun mot de passe n’est défini, n'est-ce pas? Ensuite, faites d'abord mysqlpasswd 'nom d'utilisateur', puis entrez le nouveau mot de passe demandé, puis essayez à nouveau d'accéder à mysql -p si vous êtes root.

1
user2807050

Essayez "Sudo mysql -u root -p" s'il vous plaît.

1
Udi

si vous êtes déjà connecté en tant que root juste

mysql -u root

l'invite, le mot de passe retournera sinon comme erreur

1
maioman

utiliser ce "mysql -uroot -pPassword"

0
vadiraj jahagirdar