MySQL shell

MySQL shell

MySQL shell je prográmek, který si zamiluje každý kdo pracuje s databázemi MySQL.  Instalaci najdete na https://dev.mysql.com/downloads/shell/

Já osobně stahuji ten zip archiv a jenom ho rozbalím do nějakého adresáře, např. c:\mysqlshell\

Ke spuštění (na Windows 10) pak stačí jenom z příkazové řádky spustit  c:\mysqlshell\bin\mysqlsh.exe

Základní příkazy si zobrazíme pomocí \? nebo \h nebo \help

MySQL shell má několik režimů ve kterých je schopen pracovat. Jsou to \js pro JavaScript, \sql pro standardní SQL režim a \py pro Python. Výchozí je JavaScript.

Pokud se připojíme ke starší verzi MySQL, která nepodporuje X protokol (link na https://dev.mysql.com/doc/dev/mysql-server/8.0.13/mysqlx_protocol.html ), případně k MariaDB, MySQL shell se spojí na standardním portu 3306. V případě že na serveru běží MySQL 8 (případně Percona 8) spojení se naváže pomocí X protokolu na portu 33060.

Přiznám se na rovinu, že nejčastěji používám MySQL shell pro import dat.

Příklad importu dat do databáze vyboh8 na serveru vyboh8.dbaserver.net s uživatelem vyboh8. Data jsou na C:\tmp\vyboh8.sql

C:\Users\zbynek.vyboh>cd \mysqlshell\bin

C:\mysqlshell\bin>mysqlsh.exe -h vyboh8.dbaserver.net -u vyboh8 -p -D vyboh8 –sql < c:\tmp\vyboh8.sql

Please provide the password for ‚vyboh8@vyboh8.dbaserver.net‚: ********

Records: 124  Duplicates: 0  Warnings: 0

Records: 3  Duplicates: 0  Warnings: 0

Records: 8  Duplicates: 0  Warnings: 0

Records: 2  Duplicates: 0  Warnings: 0

Records: 4  Duplicates: 0  Warnings: 0

Records: 18  Duplicates: 0  Warnings: 0

C:\mysqlshell\bin>

Pokud použijeme MySQL 8, můžeme využít spousty užitečných funkcí. Například import JSON dat přímo do databáze.

Takže ukázka. Stáhneme si data z https://onemocneni-aktualne.mzcr.cz/api/v2/covid-19/ např. https://onemocneni-aktualne.mzcr.cz/api/v2/covid-19/osoby.json a uložíme do c:\tmp\

Připojíme se k serveru a ke své databázi a zadáme následující příkaz:

util.importJson(„/tmp/osoby.json“, {schema: „vyboh3“, collection: „osoby“})

Až se data naimporují, podíváme se pomocí db.getCollections() na výsledek.

Ale to už se dostáváme k MySQL Document Store a o tom třeba příště.

Celou dokumentaci včetně mnoha užitečných příkladů najdete na https://dev.mysql.com/doc/mysql-shell/8.0/en/

Žádný příspěvek v diskuzi

Odpovědět