Přestože můj názor na MySQL je dosti negativní (viz tento 3 roky starý článek), fakt je ten, že drtivá většina webhostingů implementuje právě tuto databázi, a člověk ji tedy u open-source produktů v podstatě musí používat, a musí zapomenout na pokročilejší věci a funkce prováděné na úrovni DB.
Toto naštěstí plně platilo 3 roky dozadu, dnes to není až tak hrozné, MySQL 5.1 umí "už" i views, stored procedures a další (tedy u jiných DB desítky let běžné) věci.
Na správu MySQL se dá použít webová aplikace phpMyAdmin, nicméně, při větším objemu dat tato rychle narazí na své limity a zkolabuje. Jedna z nejlepších variant pro správu MySQL je poté PremiumSoft Navicat pro MySQL, špičkový produkt s GUI navržený pro Windows, Mac OS X i Linux.
Edice Navicat Windows - Standard stojí US$ 99, verze Enterprise poté US$ 139, takže se při větším projektu zaplatí během pár hodin.
Základní rozhraní Navicat MySQL:
V Navicatu si můžete nadefinovat neomezené množství databází / připojení, podporované jsou i rysy nové MySQL 5.1 a preview 5.2. Připojit se k databázi můžete bez šifrování, pomocí SSL, SSH tunnel, či třeba pomocí stunnelu.
Jednou z nejdůležitějších funkcí je backup a restore, zálohování, funguje na 100%, a na rozdíl od phpMyAdmina umí dělat commit po každém INSERTu, takže se nestane, že na web nahráváte 10MB tar.gz soubor, poté to 10 minut cosi dělá, a nakonec to spadne na timeout (typický problém phpMyAdmina a zpracování více dat).
kontextové menu tabulky
Popisovaný software neznám, ale sám používám jiný - SQLyog (http://www.webyog.com/en/ ). Je to free nástroj (v základní verzi) pro správu MySQL. Návrhy a altery tabulek vypadají dost podobně. Bohužel, když už jsem jednou na hostingu, obvykle nemám jinou možnost, než sáhnout k tragicky pomalému PhpMyAdmin.
[1] SQLyog jsem zkoušel, 1x, zobrazil jsem si tabulku v UTF-8 a byla to změť znaků, takže deinstalace.. Navicat je opravdu mnohem lepší, vše funguje na 100%, jak má. Obzvláště parádní jsou zálohy 🙂
Porovnávat webovou aplikaci s desktopovou je docela zhovadilost. To je jako srovnávat lodě a s autama...
Lamentování nad MySQL je jako hledění darovanému koni na zuby🙂 Je to prostě dar - tudíš zdarma - tudíš drahý🙂 Nemůžeme chtít po webhosterovi instalaci DB2, Oracle atd... Stálo by to víc, než jsme ochotni zaplatit.
Radku tak proč nevyužíváš u tvého skvělého systému BLOG:CMS postgreesql? Jen z důvodu malého rozšíření na hostingu nebo je tam jiný význam?
[8] BLOG:CMS má databázový layer pro SQLite, MySQL 4.0. MySQL 4.1 (5.x) a PSQL..
Vacsina hostingov ponuka aj Postgre ako alternativu v cene.
Ja uz pred cca 4mi lety pouzival neco podobneho. Ten softik se jmenoval MySQLFront, jehoz vyvoj se bouhzel zastavil 🙁 Taktez jsem u nej ocenil podporu tunnel pripojeni na hostingy, ktere nepodporovaly vzdalenou spravu databaze.
Hmmm a proč rovnou nepoužít nástroje od "tvůrců" MySQL - Administrator, Query Browser, atd ... ?
[9] Není rozumnější použít nějakou abstrahující knihovnu jako např. ADOdb for PHP. (Chápu, že tvůj layer je také takovou abstrahujíc knihovnou, ale např. ADOdb má drivery pro desítky databází).
[15] Rozhodně souhlasím. Pro některé lidi je i $99 hodně a nástroje od MySQL nabízí rozumnou funkcionalitu za slušnou cenu.
Problémem samozřejmě je to, že málokterý webhosting Vám umožní napojení na MySQL server napřímo přes TCP/IP, a nástroje od MySQL zatím nic jiného nezvládají. Pak nezbývá, než se spokojit s phpMyAdmin, nebo zakoupit komerční produkt. Ale pokud spravujete databázi na lokálním počítači nebo se na vzdálený server dostanete přes TCP/IP, pak bych rozhodně zvážil MySQL GUI Tools, které za příslušnou cenu nejsou vůbec špatné. Existují také pro Windows a Linux, dokonce i pro Mac 🙂, a pochopitelně také jako zdrojáky...
MySQL Administrator: Správa databázového serveru, včetně zálohování a obnovování, včetně plánování záloh. Správa uživatelských účtů, připijení, sledování vytížení serveru, atd. Rozumné.
MySQL Query Browser: slušný nástroj pro dotazy. Samozřejmostí je editace v result setech (pokud tabulky mají nastavené primární klíče), grafické vytváření / modifikace tabulek (včetně indexů atd.). Zajímavostmi jsou rozhodně krokování SQL scriptu včetně break pointů, diff mezi result sety (vím, že se to dá udělat novým selectem, ale někomu lépe vyhovuje barevný diff). Pěkná je integrace MySQL reference. Tento nástroj má samozřejmě i své slabiny, rozhodně bych zmínil právě kódování.
MySQL Migration Toolkit: nástroj pro import dat do MySQL. Nástroj plně použitelný, ale mám k němu výtku, že neobsahuje přímo import z ODBC s výběrem zdroje, ale jen z JDBC kdy člověk musí ručně zadat třídu, connection string atd. Samozřejmě přes JDBC se dostaneme na jakýkoliv zdroj, ale je to trošku pracnější. Jinak přímá podpora importu z Accessu, MSSQL, Oracle, Sybase a samozřejmě jiného MySQL serveru. Také by stálo za to přidělat posílání dat opačným směrem, tj. z MySQL do cílové databáze.
MySQL Workbench: nástroj pro grafický návrh tabulek, pohledů, relací. Zatím je to alpha release
Tento software jsem poprvé použil asi před rokem při jednom rozsáhlém projektu a můžu ho vřele doporučit. Nevím proč, ale choval se lehce nestabilně při vytváření asi 50 tabulek. Vybral jsem ho proto, že jako jeden z mála uměl bezvadně pracovat s foreign keys, což jsem v phpmyadminu nenašel a já to velmi často potřebuji.
honza.skypala to zhrnul 🙂 presne tak prostě rozumná sada nástrojů a zadarmo tak proč vymýšlet něco a platit za to ... ale každému se líbí něco jiného 🙂
Vypadá to velice příjemně, jdu to vyzkoušet, jestli to má nějaké demo...
Neni jeste lepsi nez Navicat treba takovy EMS SQL Manager?
Ja osobne uz nejakou dobu pouzivam SQL Manager Lite for MySQL (zdarma) a zatim jsem nenarazil na nic, co by mi v teto verzi chybelo. Navic v uzasne praktickem prostredi zalozenem na komponentach Developer Expres, takze maximalni komfort.
Také jsem EMS používal, bohužel poslední verze co jsem používal (zhruba před rokem) měla značné problémy s UTF-8, proto jsem přešel na Navicat, u kterého jsem nenarazil na jediný problém s charsety.
[21] O MSDE (očesaném MSSQL) toho moc nevím.
Ale to co mi vyplivl gugl na toto téma, mě moc neohromilo. To je např. citace z diskuse na interval.cz:
Pokud si pečlivě přečtete informace o MSDE či se zeptáte lidí s Microsoftu, tak se dovíte, že POČET UŽIVATELŮ JE NEOMEZEN, AVŠAK JE OPTIMALIZOVÁN NA 5 UŽIVATELŮ. A co to znamená? Pokud se na MSDE připojí 5 uživatelů, tak je vše v pořádku. Avšak pokud se připojí 6. uživatel, tak zpomalí práci předešlým pěti. Pokud vás zajímá licenční politika, tak "licenčně" se může připojit nekonečno uživatelů.
A tady je třeba citace ze stránek jednoho hostingu: MSDE je zjednodušená MSSQL databáze, která obslouží maximálně 8 současných spojení - první databáze tohoto typu je poskytována k vybraným webhostingům zdarma...
Takže nevidím důvod, těch pár celkem jednoduchých webů, které jsem před časem naprogramoval, převádět do čehokoliv jiného, stejně drahého🙂.
Navíc článek je o nástrojích pro správu MySQL, takže motat tady něco o MSDE je lehce OT.
V mém předchozím komentu (5) má být tudíž nikoliv tudíš. Jazykovým puristům (tedy i sám sobě🙂 se omlouvám. Démon alkohol za to může...
[16] pokud je databázový layer větší, než samotná aplikace, je to známka něčeho nezdravého. Kód ADODB má odhadem hrůzný 1MB.
[22] foreign keys podporuje MySQL už od historické verze 3.23
[22] Samozřejmě, že MySQL foreign keys podporuje. A to není vlastnost ani nové verze 5, ale vlastnost tabulky, jako např. InnoDB, která byla použitelná už ve čtyřkové verzi.
Nedokážu si život bez FK představit 🙂
Každopádně, tentokrát souhlasím s tím, že phpMyAdmin je dost nedostačující. Ba co víc, je to "bastl" vhodný max. pro 10 tabulek.
Já se jsem během dvou let v systému, dostal cca. na 350 tabulek (50% InnoDB, 50% MyISAM). Pravdou je, že jediný schopný nástroj je přímo od MySQL. MySQL Gui Tools.
Další alternativou je nějaký ten plugin pod Eclipse, jako je QuantumDB či Data Tools Platform. Oba pluginy jsou pro jiné DBMS ideální volba, ale pro MySQL verze 5 jsou nedostačující. Neumí views, stored procedure, apod. Sice se občas náznak v novější verzi objeví, ale nikdy to pořádně nefunguje 🙁
Jinak MySQL mohu hodnotit jako databázi až od verze 5.0, dříve to byla jen taková náhražka za ukládání dat do souborů, dnes je to již databáze 🙂
[27] mno 1 MB aplikacie snad nie su az take vynimocne 😉 mimochodom ako tak na to pozeram, plus minus polovica z toho 1 mb su drivery pre odhadom 40 databazi, 100 kb skripty pre vytvorenie db struktur z datovych objektov... takze realna implementacia vrstvy je vyrazne mensia.
ale skor ma zaujima, co si predstavujete pod takym pojmom "nezdravy"? ja osobne posudzovavam aplikacie a frameworky podla roznych veci, ale s posudenym zdravosti podla mnozstva kodu som sa este nestretol.