GNU/Linux >> LINUX-Kenntnisse >  >> Linux

MySQL-Anmeldeinformationen über die Linux-Befehlszeile testen?

mysql -h host -u user -p<whatever> -e"quit"

Dadurch können Sie dieselbe Verbindungszeichenfolge verwenden, die Sie zum programmgesteuerten Senden von Abfragen an den Server verwenden. Sie können || exit 1 hinzufügen bis zum Ende zum automatischen Beenden bei ungültigen Argumenten. Sie können stderr auch auf /dev/null umleiten wenn Ihnen die automatisch generierte MySQL-Fehlermeldung nicht gefällt.


Sie können den folgenden Befehl verwenden (vorausgesetzt, Sie haben mysql in Ihrem PATH eingerichtet):

mysql -h host -u user -p

Ersetzen Sie einfach host und Benutzer mit den richtigen Werten und dann sollten Sie nach Ihrem Passwort gefragt werden.


@Phils Antwort und @Mr.Brownstones Antwort sollten für Ihre Frage ausreichen, also +1 für beide.

Nehmen wir im Folgenden an, Sie melden sich mit dem Benutzernamen myuser an

Sobald Sie sich mit mysql verbunden haben, sollten Sie die folgende Abfrage ausführen:

SELECT USER(),CURRENT_USER();
  • USER() meldet, wie Sie versucht haben, sich in MySQL zu authentifizieren
  • CURRENT_USER() meldet, wie Sie sich in MySQL authentifizieren durften

Manchmal sind sie anders. Dies kann Ihnen einen Einblick geben, warum Sie sich bei mysql anmelden dürfen.

Hier ist eine weitere Abfrage, die Sie ausführen müssen:

SELECT CONCAT('''',user,'''@''',host,'''') dbuser,password
FROM mysql.user WHERE user='myuser';

Dies zeigt Ihnen die Möglichkeiten, wie Sie sich als myuser anmelden dürfen .

Wenn Sie 'myuser'@'localhost' sehen , dann können Sie sich innerhalb des DB-Servers authentifizieren.

Wenn Sie 'myuser'@'127.0.0.1' sehen und sehe 'myuser'@'localhost' nicht , dann können Sie sich innerhalb des DB-Servers erneut authentifizieren, aber Sie müssen den --protocol=tcp angeben über die Befehlszeile.

Wenn Sie 'myuser'@'%' sehen , dann können Sie sich von jedem Server aus remote anmelden.

Wenn Sie 'myuse'[email protected]'10.20.30,%' sehen , dann können Sie Remote-Logins nur noch ab 10.20.30.% netblock machen.

Sobald Sie sehen, was 'mysql.user' für Ihren Benutzer hat, möchten Sie vielleicht myuser erlauben oder einschränken, sich auf die eine Art und nicht auf die andere anzumelden.

Wenn Sie einfach nur prüfen möchten, ob das Passwort für myuser ist whateverpassword , können Sie Folgendes tun:

SELECT COUNT(1) Password_is_OK FROM mysql.user
WHERE user='myuser'
AND password=PASSWORD('whateverpassword');

Sie können dies von der Befehlszeile aus wie folgt überprüfen:

PASSWORDISOK=`mysql -uroot -p... -ANe"SELECT COUNT(1) Password_is_OK FROM mysql.user WHERE user='myuser' AND password=PASSWORD('whateverpassword')"`

Wenn Sie nicht root sind und myuser nur testen möchten, können Sie dies tun:

PASSWORDISOK=`mysqladmin -umyuser -pwhateverpassword ping | grep -c "mysqld is alive"`

Wenn Sie 1 erhalten, wird das Passwort für myuser als gut verifiziert.


Linux
  1. Konfigurieren Sie einen Linux-Arbeitsbereich remote über die Befehlszeile

  2. So führen Sie MySQL/MariaDB-Abfragen direkt von der Linux-Befehlszeile aus

  3. 4 Möglichkeiten zum Senden von E-Mail-Anhängen über die Linux-Befehlszeile

  4. Linux-su-Befehl

  5. Tabelle über die Befehlszeile in Linux abschneiden

Usermod-Befehl unter Linux

So starten (rebooten) Sie Linux von der Befehlszeile aus

userdel-Befehl - Benutzerkonto aus dem Linux-System löschen

So testen Sie die Internetgeschwindigkeit über die Befehlszeile in Linux

So überprüfen Sie Wetterdetails von der Befehlszeile in Linux

Senden Sie E-Mail in Linux von der Befehlszeile aus