Ist es möglich, die MySQL-Willkommensnachricht zu ändern?

7

Kann ich die von MySQL angezeigte Begrüßungsnachricht ändern, wenn ich über die Befehlszeile eine Verbindung herstelle?

In der aktuellen Nachricht werden die Version, das Oracle-Copyright usw. angezeigt.

Ich möchte auch ein Banner anzeigen.

edmz
quelle

Antworten:

5

Verwenden Sie den --silentSchalter, um die Begrüßungsnachricht zu entfernen . Aber es wird auch die Ausgabe nicht tabellarisch machen (SELECTs Ausgabe ohne Grenzen), was hässlich aussieht. Verwenden Sie den --tableSchalter, um die tabellarische Ausgabe wiederherzustellen.

mysql --silent --table -u user_name -p db_name
# or short form
mysql -s -t -u user_name -p db_name

Um Ihre eigene Begrüßungsnachricht zu drucken, erstellen Sie beispielsweise ein Skript mysql.shund echodrucken Sie Ihr Banner. Führen Sie dieses Skript anstelle von aus mysql.

Beispielskript:

#!/usr/bin/env bash

echo "Welcome to mysql!"
# "$@" will pass script arguments to mysql.
mysql -s -t "$@"

Verwendungszweck:

./mysql.sh -u user_name -p db_name

Sie können Bash-Aliase oder -Funktionen verwenden, um mysqlBefehle durch Ihr Skript zu ersetzen , dh (vorausgesetzt, Sie geben sie mysql.shin Ihr Skript ein $HOME/bin/):

alias mysql=$HOME/bin/mysql.sh

Dann mysql -u user_name -p -db_namewird Ihr Skript ausgeführt, das Ihr Banner druckt und MySQL ausführt.

Cronfy
quelle
4

Fügen Sie Folgendes in Ihre my.cnf ein

[mysql]
silent

und versuchen Sie den Anmeldeauslöser , um das Banner über "Systemecho 'meine benutzerdefinierte Nachricht'" zu drucken. Mit etwas mehr Kreativität können Sie die Anmeldemeldung pro Benutzer anpassen.

Nehal Dattani
quelle
silentlässt SELECTs ohne Grenzen hässlich aussehen.
Cronfy
2

Zumindest können Sie die Begrüßungsnachricht mit der Option -soder unterdrücken--silent

# mysql -u... -p -s

Es wird sofort die MySQL-Eingabeaufforderung angezeigt

mysql>

Möglicherweise möchten Sie ein Shell-Skript mit dem benutzerdefinierten Willkommens- oder Banner erstellen, das vor der Anmeldung bei MySQL angezeigt wird.

Wenn Sie etwas gewagter sind, können Sie die Quelle herunterladen, die Begrüßungsnachricht suchen und ändern, alle Binärdateien neu kompilieren und installieren. Wenn Sie so gewagt sind, haben Sie Spaß damit.

RolandoMySQLDBA
quelle
1
Die Option -s ist intelligent, entfernt jedoch die Grenzen (Zeichen |, + und -), wenn SELECT-Anweisungen ausgeführt werden. Wenn auf * nix; Eine Möglichkeit besteht darin, einen Alias ​​zu verwenden und eine Nachricht vor dem Booten von MySQL zu wiederholen.
mira_mayhem