Databáze
Nastavení přístupu
Databáze si každý uživatel vytváří v administraci webhostingu Savana.cz sám. Každá databáze zároveň musí mít jedinečný název. Pokud se Vám při vytváření objeví hlášení Databáze s tímto jménem již existuje, jméno použil již někdo jiný a je nutné zvolit jiné.
VPS webhosting
| typ | host | jméno uživatele | jméno databáze | heslo |
|---|---|---|---|---|
| MySQL 5 | localhost | jmeno_db | jmeno_db | vase_heslo_db |
| MySQL 5 InnoDB | localhost | jmeno_db | jmeno_db | vase_heslo_db |
| PostgreSQL 8 | localhost | jmeno_db | jmeno_db | vase_heslo_db |
Databáze VPS
| typ | host | jméno uživatele | jméno databáze | heslo |
|---|---|---|---|---|
| MySQL 5 VPS | mysql5-vps | jmeno_db | jmeno_db | vase_heslo_db |
Vzdálený přístup
Pro vzdálený přístup k databázi je potřeba aktivovat některý z nabízených doplňků tarifu.
Databáze Plus která nabízí oproti standartu zvýšení velikosti vyhrazeného místa pro databáze, zvýšení maximálního počtu konexí do databáze, možnost vzdáleného připojení do databáze.
U doplňku Databáze VPS se pak jedná o pronájem virtualního databázového serveru vhodného pro větší nebo více zatěžované databáze s možností vzdáleného připojení do databáze a root přístup k databázi s možností konfigurace uživatelů.
Databáze VPS lze vytvářet ve dvou režimech.
1. Pomocí administrace webhostingového účtu, sekce DATABAZE kde u takto vytvořené databáze lze povolit vzdálený přístup ( pokud máte tuto možnost aktivní ), je pravidelně zálohována a zobrazuje se obsazený prostor.
2. Po aktivaci položky Aktivovat root účet v sekci DATABAZE - DATABAZE VPS vytvoříte na DB VPS "root" práva a databáze poté vytvářet pomocí phpMyAdmina. Výhodou je větší kontrola nad vytvořenou databází. Nevýhodou je pak to, že databáze nejsou pravidelně automaticky zálohovány, nejsou zobrazovány v administraci a nelze u nich vytvořit vzdálený přístup.
Adresy pro přístup k databázi přes internetový prohlížeč
| URL adresa | databáze |
|---|---|
| https://phpMyAdmin.VAS_LOGIN.savana.cz | mysql5 |
| https://phpMyAdmin.VAS_LOGIN.savana.cz | mysql5-innodb |
| https://phpMyAdmin.VAS_LOGIN.savana.cz | mysql5-vps |
| https://phpPgAdmin.VAS_LOGIN.savana.cz | postgresql |
Adresy pro vzdálené připojení VPS webhosting
Adresa je vždy uvedena v administraci webhostingového účtu v sekci DATABAZE-NASTAVENI u konkrétní databáze.
Špatná čeština ve skriptech
V případě, že výstup z databáze do Vašich skriptů není ve správné češtině je potřeba nastavit konverzi pro konexi mezi databází a skripty. K tomu slouží kouzelný příkaz SET NAMES, který automaticky vše nastaví na jednu znakovou sadu. Pokud například pracujete s mezinárodní databází používající UTF-8 a pro své klientské rozhraní potřebujete, aby se s daty pracovalo ve Windows 1250, můžete použít následující příklad:
<?php
// připojení k db serveru
mysql_connect("localhost", "mysql_user", "mysql_password") or die ("Nelze se připojit do databáze!");
// výběr konkrétní databáze
mysql_select_db("mysql_database") or die ("Nelze se připojit do databáze!");
// Informujeme DB server v jaké češtině má fungovat
mysql_query("SET NAMES CP1250");
// Ostatní speciální definice - slouží pro definici jednotlivých specifikací
mysql_query("SET character_set_connection=cp1250");
// informuje server o tom, v jaké znakové sadě požadujete, aby server data zpracovával.
mysql_query("SET character_set_client=cp1250");
// informuje server o tom, jakou znakovou sadu používá klient, tedy v jakém kódování přicházejí textová data
mysql_query("SET character_set_results=cp1250");
// informuje server o tom, v jaké znakové sadě požadujete, aby server posílal zpracovaná data na výstup
mysql_query("SET character_set_server=cp1250");
.
.
.
.
mysql_close();
?>
Stále se diakritika zobrazuje špatně?
Přesvědčete se, že SET NAMES opravdu předchází všechny ostatní příkazy pro databázi, že je jako první (bezprostředně po připojení k serveru a ihned po výběru databáze) použit příkaz mysql_query("SET NAMES 'cp1250'"), zda jsou skripty opravdu v daném kódování <meta http-equiv="content-type" content="text/html; charset=windows-1250"> a teprve poté zkusit jakékoli jiné mysql_query()!
Další možnosti
Import databáze
Importovat data do nově založené databáze lze několika způsoby.
Nejznámější způsob je za pomocí phpMyAdmina, poněkud výhodnější je použítí Adminera. Nejlepší variantou je pak import z terminálu po připojení prostřednictvím SSH.
Tento návod předpokládá, že data pro import máte uložena v souboru s koncovkou SQL nebo v komprimovaném tvaru (gzip, bzip2, zip).
phpMyAdminDo prohlížeče zadáte adresu s phpMyAdminem. Je také zobrazena v administraci webhostingového účtu v sekci Účet - Stav. Adresa je v formátu https://phpmyadmin.VAS_LOGIN.savana.cz.
Přihlásíte se k nově založené a doposud prázdné databázi, v levé části vyberete podle názvu databázi (běžně je dostupná i databáze information_schema) do které bude probíhat import. Klikněte na záložku "Import" a poté na tlačítko "Vybrat soubor". Zkontrolujte zda máte zvolenou správnou znakovou sadu, správně nastavený formát importovaného souboru a můžete kliknou na tlačítko k provedení importu.
Jedná se o zdatnou náhradu za phpMyAdmina, dostupnou zdarma pro komerční i nekomerční použití. Tvoří jej jeden jediný soubor, který si můžete stáhnout a umístit na libovolné místo ve vašem webprostoru.
Pro příklad: aktuální verze v době vydání této nápovědy je adminer-3.3.3.php . Po umístění do kořene Vašeho účtu jej pak můžete zobrazit na adrese https://VAS_LOGIN.savana.cz/adminer-3.3.3.php. Po spuštění se zobrazí přihlašovací okno. Typ serveru ponecháte MySQL, adresa serveru je localhost. Dále pak vyplníte název db a heslo. po přihlášení vyberete databázi a kliknete na SQL příkaz.
Nyní se dostáváme k tomu proč může být použití admineru pro import výhodnější. Na výběr máte dva způsoby importu. Buď použijete stejný postup jako v případě phpMyAdmina, kdy vyberete soubor na svém počítači a necháte jej odeslat a zpracovat nebo můžete například pomocí FTP nahrát importovací soubor na server do míst kde máte umístěn Adminer.
Po uploadu je nutné jej přejmenovat na adminer.sql[.gz|.bz2] a využít volby přímeho spuštění importu z souboru umístěného na serveru. Toto je výhodné pokud máte například pomalejší upload a dlouho by trvalo než by se soubor dostal na server.
Dalším, rychlejším a pro velké soubory dat k importu i jediným možným způsobem je import pomocí příkazu zadaného v terminálu při připojení přes SSH k Vašemu webhostingovému účtu. Pro tuto možnost je nutné si nejprve aktivovat SSH přístup a umístit importovací soubor na server (buď pomocí FTP nebo WinSCP).
Po přihlášeni přes SSH a vyvolání Midnight Commander je vhodné projít strukturou adresřů až do místa kde máte uložen importovací soubor. Následně pomocí klávesové zkratky CTRL+O skrýt Midnight Commander a zadat následující příkaz. /usr/bin/mysql --force -u [DB] -p[HESLO] [DB] < [SOUBOR.SQL]






