Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
myisamchk, správa databáze programem mysqladmin, některé systémové funkce.MySQL nabízí několik typů tabulek. Netransakční (MyISAM, ISAM, MERGE a HEAP) i transakční (BDB, InnoBDB). Netransakční tabulky jsou výkonnější, transakční zase bezpečnější.
Předvoleným (defaultním) typem tabulek je MyISAM. MyISAM je novější obdoba typu ISAM. Další text se bude týkat výhradně těchto tabulek.
Data jsou na disku organizována ve formě souborů. Pro každou tabulku
(typu MyISAM) jsou vytvořeny tři soubory a to: *.frm,
*.myd a *.myi. Soubor *.frm je
formátovací soubor a obsahuje datovou strukturu. Soubor *.myd
obsahuje data a soubor *.myi obsahuje informace o klíčích a
jiných vnitřních křížových odkazech. Tyto soubory najdete většinou v
adresáři /var/lib/mysql/Jmeno_Databaze.
myisamchkProgram myisamchk slouží údržbě (tedy k získávání
informací, kontrole, opravám a optimalizaci) tabulek typu MyISAM.
Syntaxe:
myisamchk [přepínače] Název_Tabulky
Před spuštěním příkazu musíte být v adresáři, kde jsou uložena data databáze, ve které se vyskytuje tabulka, se kterou chcete operovat, nebo musíte uvést úplnou cestu k vybrané tabulce.
Pozor: Pokud používáte program myisamchk, nikdo se nesmí
připojit k databázi MySQL. Je proto velmi vhodné vypnout démona mysqld před
spuštěním tohoto programu. Je také dobré zálohovat databázi.
Pokud nevypnete démona mysqld, uložte před spuštěním
programu myisamchk do tabulek všechna data z mezipaměti
serveru. Uděláte to příkazem:
mysqladmin flush-tables
| Přepínač | Akce |
-a, --analyze |
Analyzuje distribuci klíčů. Urychlí některá spojení tabulek. |
-C, --check-only-changed |
Prověří pouze ty tabulky, které se od poslední kontroly změnily |
-#=přepínače, --debug=přepínače |
Protokoluje ladění. Často se používá ve tvaru "d:t:o,
názevsouboru", kde názevsouboru je název souboru, do
něhož je protokol o ladění ukládán. |
-d, --description |
Vypíše informace o stavu tabulky. |
-e, --extended-check |
Kopletně prověří vybraný soubor. Obvykle se nepoužívá, protože
myisamchk umí najít většinu problémů i bez tohoto přepínače a
kompletní prověření může trvat velmi dlouho. |
-f, --force |
Přepisuje dočasné soubory. |
-i, --information |
Vypíše statistické informace o dané tabulce. |
-k=počet, --keys-used=počet |
Používá se s přepínačem -r. Sděluje programu
myisamchk, aby před započetím opravy odstranil
počet klíčů. |
-l, --no-symlinks |
Určuje, že myisamchk nebude sledovat symbolické odkazy
(implicitně je sleduje). |
-m, --medium-check |
Rychlejší, ale méně důkladný, než --extended-check. Najde 99,99%
chyb. |
-q, --quick |
Používá se s přepínačem -r. Urychluje proces opravy.
Program myisamchk pak opravuje pouze soubory .isd
- ne datové soubory. |
-r, --recover |
Spustí obnovení. Opraví většinu problémů kromě konfliktů jedinečných klíčů. |
-o, --safe_recover |
Používá starší, pomalejší metodu obnovení. |
-s, --silent |
Vypíše pouze chyby. -ss vypíše pouze velmi důležité chyby. |
-v, --verbose |
Režim s podrobným výstupem. -vv spustí režim s ještě
podrobnějším výstupem. |
-S, --sort-index |
Třídí některé indexové bloky, aby se urychlil běh aplikací, často procházejících záznamy. |
-R=index, --sort-records=index |
Seřadí datové záznamy podle určeného indexu (číslo indexu zjistíte
příkazem SHOW INDEX;). Zvýší se tak výkon některých
dotazů. |
-u, --unpack |
Rozbalí soubor zabalený příkazem pack_isam. |
-V, --version |
Vypíše číslo verze. |
-W, --wait |
Čeká na uvolnění zamčené tabulky. |
-?, --help |
Zobrazí úplný seznam přepínačů programu myisamchk |
Kontrola tabulek
Najde 99,99% chyb. Nenajde chyby týkající se souboru obsahujícího data:
myisamchk Jmeno_Tabulky
Najde 99,999% chyb:
myisamchk -m Jmeno_Tabulky
Tabulku kompletně prověří:
myisamchk -e Jmeno_Tabulky
Prověří všechny tabulky všech databází (za předpokladu, že data jsou
uložena v adresáři /var/lib/mysql):
myisamchk /var/lib/mysql/*/*.MYI
Oprava poškozené tabulky
Běžná oprava:
myisamchk -r Jmeno_Tabulky
Pokud předchozí příkaz selže, zkuste starší opravovací metodu, která je o něco účinější, ale o mnoho pomalejší:
myisamchk --safe-recover Jmeno_Tabulky
Oprava poškozených klíčů
Spustíte-li příkaz myisamchk pro tabulku s poškozenými
klíči, program bude předpokládat, že jsou poškozena i data, a proto je
vymaže.
Pokud si tedy myslíte, že jsou poškozeny klíče, dočasně je odstraňte, opravte tabulku a na závěr je dosaďte znovu.
Následující příkaz vynuluje klíče, zkontroluje a případně obnoví tabulku:
isamchk -rqk=0 *.MYI
A takto znovuobnovíte klíče:
isamchk -rq
Optimalizace tabulky
Uvolnění nevyužitého místa
Za nějaký čas se může stát, že tabulky budou využívat více místa, než ve skutečnosti potřebují. Následující příkaz prohledá tabulku a na základě zjištěných informací ji vytvoří znova.
myisamchk -r Jmeno_Tabulky
Další příkazy optimalizující tabulku:
myisamchk -S Jmeno_Tabulky
myisamchk -R Jmeno_Tabulky
myisamchk -a Jmeno_Tabulky
Nelze-li před zahájením oprav zastavit server MySQL, může se stát, že aplikace používá původní soubory, i když jste je opravili. Opravené soubory se použijí po zadání příkazu:
mysqladmin reload
mysqladminProgram mysqladmin se používá k mnoha činnostem
souvisejícím se správou databáze MySQL. Můžete ho použít například ke
změně hesla, vytvoření či odstranění databáze, zjištění informací o stavu a
verze databáze atd.>
Seznam příkazů programu mysqladmin, jejich přepínačů a
krátký popis k nim získáte následujícím příkazem:
mysqladmin
Pokud jste již nastavili uživatelské účty a privilegia k databázím,
budete muset při spuštění programu zadat přepínače -u a
-p, abyste mohli zadat uživatelské jméno a heslo, které vás
bude k používání tohoto programu opravňovat. (V UNIXových systémech
zadávejte uživatelské jméno jen tehdy, liší-li od uživatelského jména pro
přístup do systému UNIX.)
| Příkaz | Akce |
password nove-heslo |
Změní původní heslo na nové. |
flush-hosts |
Z mezipaměti serveru vyprázdní všechny hostitele. |
flush-logs |
Vyprázdní mezipaměť protokolování. |
flush-tables |
Do tabulek uloží všechna data z mezipaměti serveru. |
flush-privileges |
Do mezipaměti znova načte obsah informačního souboru uživatelských účtů. |
refresh |
Do mezipaměti znova načte obsah informačního souboru uživatelských účtů, zavře a otevře soubory protokolu. |
status |
Ukazuje informace o stavu MySQL jako počet sekund, které uplynuly od spuštění služby MySQL, počet spuštěných vláken, počet dotazů, které MySQL přijala od svého spuštění... |
extended-status |
Vypíše rozšířenou zptávu o stavu serveru. |
version |
Informace o verzi MySQL, verzi protokolu, informace o připojení |
variables |
Vypíše všechny dostupné proměnné |
processlist |
Vypíše informace o tom, kdo dané vlákno spustil, název hostitele, z něhož se uživatel k systému přihlásil, název pracovní databáze vlákna, informace o tom, co procesy vykonávají, ... |
ping |
Používá se ke zjištění, zda je spuštěn démon MySQL. |
shutdown |
Vypne server MySQL. |
DATABASE()
Vrací název aktuální databáze.
Následující příkaz vypíše aktuální databázi:
SELECT DATABASE();
USER(), SYSTEM_USER(), SESSION_USER()
Vrací název aktuálního uživatele databáze včetně názvu hostitele.
VERSION()
Vrací aktuálně používanou verzi služby MySQL.
PASSWORD(řetězec)
Zašifruje zadaný řetězec. Používá se k šifrování uživatelských hesel.
ENCRYPT(řetězec[, maska])
Argument maska určuje metodu šifrování. Pokud žádný
neurčíte, MySQL určí metodu náhodně. MySQL používá v systému UNIX systémové
volání crypt(). Není-li tato funkce ve vašem systému dostupná,
vrátí funkce prázdnou hodnotu.
ENCODE(řetězec, heslo), DECODE(řetězec, heslo)
Funkce ENCODE() kóduje daný řetězec. Výsledkem je binární
řetězec.
Funkce DECODE() naopak dekóduje zakódovaný řetězec pokud
jako argument heslo předáte stejné heslo, jako při kódování stejného
řetězce.
MD5(řetězec)
Vrací kontrolní součet řetězce. Je to 32 místné hexadecimální číslo.
LAST_INSERT_ID([výraz])
Vrací poslední automaticky generovanou hodnotu zadanou do pole typu
AUTO_INCREMENT. Funkce vrací pouze hodnoty vytvořené v
aktuálním připojení.
Výraz výraz musí mít číselný výsledek. Tento výsledek
nastaví modifikátor AUTO_INCREMENT. (Tato hodnota bude tedy
vrácena při příštím volání funkce LAST_INSERT_ID().)
V dnešním díle jste se dozvěděli, že v MySQL existuje více typů tabulek. Netransakční typy MyISAM, ISAM, MERGE a HEAP i transakční typy BDB, InnoBDB. Předvoleným typem tabulek je MyISAM.
Data jsou na disku oganizována ve formě souborů. Pro každou tabulku
(typu MyISAM) jsou vytvořeny tři soubory a to: *.frm,
*.myd a *.myi.
Program myisamchk se používá k získávání informací,
kontrole, opravám a optimalizaci tabulek typu MyISAM.
MySQL poskytuje velké množství systémových funkcí.
Program mysqladmin se používá k mnoha činnostem při správě
databází MySQL. Například ke změně hesla, vytvoření či odstranění databáze,
zjištění informací o stavu a verzi databáze atd.
Tímto dílem seriál o MySQL končí. Jsem rád, že jste ho dočetli až sem. Nyní byste měli především dobře rozumět principu relačních databází a být schopni vytvářet i spravovat databáze na slušné úrovni.
Tento seriál se snaží být především srozumitelnou a přehlednou referencí toho nejdůležitějšího, co by měl každý tvůrce databází v MySQL znát.
Nejsou zde popsány některé pokročilé vlastnosti, jako transakce, nebo věci přímo nesouvisející s tvorbou nebo správou databází, jako podpora přístupu do databáze z programovacích jazyků. Věřím, že pro vás nebude problém doučit se tyto jednotlivosti z manuálu.
Seriál je určen i pro úplné začátečníky. Pokud něčemu v něm popsanému nerozumíte, pravděpodobně chyba není ve vás, ale v textu. Narazíte-li tedy na jakoukoliv nejasnost, napište mi a já se pokusím text upravit.
Budu také rád, když napíšete, pokud narazíte na chyby, nepřesnoti, neaktuální informace, nebo pokud budete mít pocit, že v seriálu něco důležitého chybí. O všech úpravách v seriálu provedených se dozvíte zde.
Pokud se chcete o MySQL dozvědět více, doporučuji nahlédnout do MySQL manuálu. Dále bych vás chtěl upozornit na seriál o MySQL na serveru linuxzone.cz. Je praktičtěji zaměřený než tento, a tak si v něm můžete procvičit své čerstvě nabyté znalosti.
Přeji mnoho šťastných chvil strávených s MySQL.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Díky za to díky! 
CHECK TABLE Jmeno_Tabulky; = myisamchk -m Jmeno_Tabulky
REPAIR TABLE Jmeno_Tabulky;= myisamchk -r Jmeno_Tabulky
OPTIMIZE TABLE Jmeno_Tabulky;= myisamchk --quick --check-changed-tables --sort-index --analyze Jmeno_Tabulky
ANALYZE TABLE Jmeno_Tabulky;= myisamchk -a Jmeno_Tabulky;
Přičemž u příkazu CHECK TABLE můžete zadat tyto přepínače: QUICK | FAST | MEDIUM | EXTENDED | CHANGED.
U příkazu REPAIR TABLE můžete zadat tyto přepínače: QUICK | EXTENDED.
Následující příkaz důkadně prověří tabulku:
CHECK TABLE Jmeno_Tabulky EXTENDED;
V seriálu jsem o těchto příkazech nepsal, protože toho neumí víc, než program myisamchk. Většina lidí si tak vystačí se znalostí programu myisamchk - a kdo ne, tak si tyto příkazy najde v manuálu.
Na druhou stranu je pravda, že alespoň zmínit jsem se o nich měl.