mysql cli history search einschalten

OP #7629101
Lesenswert?

Ich denke wenn das file Rechteprobleme etc hätte, könnte Ich nicht mit Pfeil rauf/runter Taste durch die history scrollen. Das ist also erstmal nicht mein Problem.

Ich möchte ja mit PGDN/PGUP(Bild rauf/runter) durch die history scrollen bzw. suchen indem Ich einen buchstaben z.B. S (für SELECT) vorgeben und mir werden alle Befehle aus der history mit S nach jedem Tastendruck angezeigt.

Das geht noch untern Server version: 10.3.39-MariaDB-0+deb10u2 Debian 10 aber unter Server version: 10.11.6-MariaDB-0+deb12u1-log Debian 12 geht es nicht mehr.

OP #7629171
Lesenswert?

Bin da auf ner heissen Spur...

mysql -V mysql Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper

mysql -V mysql Ver 15.1 Distrib 10.3.39-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Ok also ma Editline reinziehen.

https://dev.mysql.com/doc/refman/8.0/en/mysql-tips.html#mysql-input-editing

Oh nein die Büchse geöffnet.. was ein Graus. Hoffe das gibt nen Aufschrei... bzw nicht noch mehr Pakete die auf EditLine wechseln.Geht sowas von gar nicht.

Beispiel. Alte suche. schön einfach wie oben beschrieben.

Jet neu mit Editline CTRL+R (CTRL+S geht ja schonmal nicht stoppt Terminal...) oder auch ~/.editrc erstellen mit nem bind bind "^R" em-inc-search-prev

Dann in mysql cli CTRL+R drücken dann erscheint Textfeld bck: Jetz kann man case sensitive! seine alten Befehle suchen also drücke Ich SE und der schlägt vor SELECT FILE_NAME, START_LSN, END_LSN FROM performance_schema.innodb_redo_log_files; bck:SE Hmm von durchscrollen keine Spur kann hier nur die richtigen Zeichen weiterraten..

So ein Murks...das is doch kein ersatz für readline..

Gebs auf und Versuche mir ne eigene mysql cli mit readline8 support zu bauen(geht das überhaupt noch...

#7629216
Lesenswert?

Jörg E. schrieb:

Ich denke wenn das file Rechteprobleme etc hätte, könnte Ich nicht mit Pfeil rauf/runter Taste durch die history scrollen. Das ist also erstmal nicht mein Problem.

The mysql_history File

On Unix, the mariadb client writes a record of executed statements to a history file. By default, this file is named .mysql_history and is created in your home directory. To specify a different file, set the value of the MYSQL_HISTFILE environment variable.

The .mysql_history file should be protected with a restrictive access mode because sensitive information might be written to it, such as the text of SQL statements that contain passwords.

If you do not want to maintain a history file, first remove .mysql_history if it exists, and then use either of the following techniques: ....

Deshalb hab ich nach den Datei-Rechten gefragt, hast Du denn mal nachgeschaut, existiert in deinem Homeverzeichnis die Datei ".mysql_history", was steht in der Systemvariablen "MYSQL_HISTFILE" ?

OP #7629228
Lesenswert?

Ok habe doch noch ne Lösung gefunden die fast genauso funktioniert. Cursor wird leider ans ende Positioniert aber immerhin schonmal wieder ne Suche möglich. Im Home Verzeichnis (Achtung bei "sudo mysql" ist es im /root/.editrc) eine .editrc mit folgendem Inhalt anlegen:

1
bind "^[[5~" ed-search-prev-history
2
bind "^[[6~" ed-search-next-history

Dann geht diese Suche...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren