Portál AbcLinuxu, 17. listopadu 2025 09:14
########################################
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.