Portál AbcLinuxu, 30. dubna 2025 18:20
######################################## Zprovoznění MySQL databáze v Ubuntu 6.06 ######################################## Instalace ========= Je potřeba nainstalovat balíčky, včetně všech závislostí: -------------------------------------------------------- mysql-server-5.0 - server, program který se stará o data, v ubuntu se automaticky sám spustí mysql-client-5.0 - klient pro příkazovou řádku, skrz kterou lze server ovládat php5-mysqli - knihovna pro php5, která umožní v php používat MySQL databázi Prvotní konfigurace =================== Nastavení hesla administrátora serveru: -------------------------------------- příkaz: mysqladmin -u root password tajne_heslo Smazat nepotřebné účty: ---------------------- V databázi mohou být vytvořeny nebezpečné účty. Nebezpečné proto, že mají plný přístup a jsou bez hesla, tudíž je může použít a zneužít kdokoli. Je jim potřeba buď nastavit hesla a nebo je smazat, osobně preferuji smazání. K splnění tohoto úkolu je potřeba se připojit k serveru jako root, podívat se, jaké účty bez hesla obsahuje a tyto smazat. Přihlášení se k serveru: příkaz: mysql -u root -p Budete požádáni o heslo a ocitnete se v konzoli MySQL serveru, skrz kterou ho můžete ovládat. Nyní je potřeba se přepnout na administrační databázi: mysql> use mysql Database changed Takto zjistíme seznam uživatelů: mysql> SELECT host, user, password FROM User; +-----------+------------------+------------------+ | Host | User | Password | +-----------+------------------+------------------+ | localhost | root | 63d4d9a0297acc3d | | t43 | root | | | localhost | debian-sys-maint | 732c89084ff91848 | +-----------+------------------+------------------+ 3 rows in set (0.00 sec) Smažeme účet bez hesla a ověříme seznam: mysql> DELETE FROM User WHERE password=''; Query OK, 1 row affected (0.02 sec) mysql> SELECT host, user, password FROM User; +-----------+------------------+------------------+ | Host | User | Password | +-----------+------------------+------------------+ | localhost | root | 63d4d9a0297acc3d | | localhost | debian-sys-maint | 732c89084ff91848 | +-----------+------------------+------------------+ 2 rows in set (0.00 sec) Vytvoření nové databáze: ----------------------- Databázový server může obsluhovat více databází současně, proto si musíme nějakou vytvořit. A protože jsme češi, nastavíme ji kódování UTF-8 a chování dle českých pravidel (třeba při třídění). mysql> CREATE DATABASE pokus CHARACTER SET 'utf8' COLLATE 'utf8_czech_ci'; Query OK, 1 row affected (0.00 sec) Seznam všech podporovaných kódování a chování lze zjistit příkazy "show character set" a "show collation". Vytvoření nového uživatele: -------------------------- A nakonec vytvoříme nového uživatele, který může používat tuto databázi, protože není vhodné na takové veci používat admina: mysql> GRANT select, insert, update, delete, create, drop -> ON pokus.* -> TO 'wraith'@'localhost' -> IDENTIFIED BY 'tajne_heslo_wraitha'; Query OK, 0 rows affected (0.02 sec) Uživatel wraith bude smět používat pouze uvedené SQL příkazy v databázi pokus, nic jiného. Odhlášení se z databáze jako admin: ---------------------------------- Stiskněte Ctrl-D. Práce s databází ================ Nejprve se do ní přihlásíme: --------------------------- příkaz: mysql -u wraith -p mysql> use pokus Database changed A nyni je možno začít pracovat v databázi (zadávat povolené SQL příkazy) jako v každé jiné.
Tiskni
Sdílej:
+-----------+------------------+------------------+ | Host | User | Password | +-----------+------------------+------------------+ | localhost | root | 63d4d9a0297acc3d | | t43 | root | | | localhost | debian-sys-maint | 732c89084ff91848 | +-----------+------------------+------------------+(Mimo jednoho roota.)
příkaz: mysqladmin -u root password tajne_hesloTo podle mě není moc dobrý nápad. Jednak heslo zůstane v
~/.bash_history
, jednak někdo může spustit ps -a
v (ne)správnou chvíli. Uznávám, historii spraví shred
a odchycení process monitorem je nepravděpodobné, ale přece jen…
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.