MyCLI czyli konsola MySQL / MariaDB / Percona na sterydach

W mojej pracy wcale nierzadko zdarza się sytuacja, że muszę się wbić na jeden z setek serwerów MySQL i o coś go tam zapytać. Drobnostki. „ASAPowe”. A jednocześnie nie jest to coś na tyle częstego (i powtarzalnego per konkretna maszyna) aby próbować to zautomatyzować. Zresztą na ogół te maszyny nie mają wyjścia na świat ani nic webowego żeby odpalić jakiegoś wizualnego pomocnika typu Adminer czy phpMyAdmin.

W takiej sytuacji najprościej jest po prostu wbić się przez konsolowe CLI. I nie było by to takie najgorsze gdyby nie fakt, że na setkach serwerów są setki baz, a ja nie zawsze mam dokładną o nich wiedzę. Zresztą jak trafia się na jakąś bazę sporadycznie to trudno aby o niej wszystko pamiętać.

I tutaj do gry wchodzi MyCLI czyli nakładka na „MySQLopodobne” bazy (MySQL, MariaDB, Percona) ułatwiająca interakcję z nimi przez CLI. Jej dwie najważniejsze cechy to podpowiadanie składni i jej odpowiednie kolorowanie. Najlepiej będzie to widać na przykładach.

Instalacja

MyCLI jest napisany w Pythonie, a instalacja jest bardzo prosta, są gotowe pakiety, także w brew na MacOS.

Samo połączenie się z bazą jest analogiczne do tego jakbyśmy chcieli bezpośrednio skorzystać z CLI naszej bazy np.

mycli -h localhost -u root app_db

Przykład działania

MyCLI podpowiada już samą składnię SQLowych funkcji:

MyCLI - MySQL

Ale przede wszystkim podpowiada nazw tabel:

MyCLI - MySQL

Oraz nazwy kolumn z danej tabeli.

MyCLI - MySQL

Nie ma też problemu z aliasami:

MyCLI - MySQL

Oraz koloruję składnię (jest wiele motywów do wyboru można też samemu ustalić kolory):

MyCLI - MySQL

Najczęściej wykonywane zapytania można zapisać do ulubionych i potem wywoływać przez słowo kluczowe co jest ogromnym ułatwieniem szczególnie jak ma się często wykonywane długie zapytania.

Podsumowanie

MyCLI oszczędza sporo czasu i nerwów. Jeżeli tylko zdarza Ci się podobnie jak mi działać na MySQLowym CLI spróbuj tego narzędzia. Prosto i szybko do celu. To lubię.

mycli - mysql

Przede wszystkim admin, potem webdeveloper choć kiedyś było odwrotnie. Obecnie Full Stack Engineer, CTO i System Architect. Po godzinach fan dobrych seriali, których nigdy nie ma czasu obejrzeć. Kawożłop. Koneser prawdziwego piwa. W czasie pomiędzy kontuzjami biega.

  • xyz

    Nie widzę możliwości połączenia przez tunel ssh, a prawie nigdy do bazy nie ma możliwości połączenia z poza lolalhosta. Osobiście używam wszędzie heidisql.

    • nrm

      Rozumiem. Z kolei Heidisql to coś na windę więc u mnie odpada 😉 A Mycli zainstalować lokalnie to dla mnie 5 sekund.

    • broiniac

      Może to być wada, zwłaszcza że nie wszędzie mycli na serwerze można zainstalować. Niestety twórcy rzekli, że nie ma i raczej nie będzie, bo to skomplikuje kod : (

      Jak mam taką potrzebę, instaluję mycli na serwerze. Jestem szczęśliwym posiadaczem unikalnego statycznego adresu IP, więc w moim wypadku dodanie go do listy dozwolonych zewnętrznych IP i połączenie z localhosta też jest opcją.

  • broiniac

    Korzystam i lubię.
    Podpowiadanie jest super, ale i tak najlepsze w niej jest to, że ctrl+c jej nie zabija 😀

Send this to a friend

webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL