806
contributi
(→MySQL) |
|||
Riga 206: | Riga 206: | ||
=Il Database Server= | =Il Database Server= | ||
==MySQL== | ==MySQL== | ||
Passiamo adesso ad installare il server di database MySQL. | |||
<pre># apt-get install mysql-server</pre> | |||
che, oltre al server MySQL, installer per noi anche il client, alcuni tools e le librerie indispensabili. | |||
A questo punto il server MySQL dovrebbe essere installato ed avviato automaticamente. Possiamo controllare usando il solito comando '''ps''' oppure '''/etc/init.d/mysql status'''. | |||
{{Warningbox|MySQL inizialmente accessibile unicamente all' utente '''root''' senza alcuna password.}} | |||
{{box|Nota Bene:|Negli esempi seguenti ho digitando i comandi mysql su righe diverse per renderli pi leggibili, ma nulla vieta di scrivere tutto di seguito sulla medesima linea.}} | |||
La nostra prima preoccupazione dovrebbe essere senz' altro quella di impostare una passowrd per l' utente root. Ecco come fare: | |||
<pre> | |||
mysql> SET PASSWORD | |||
-> FOR root@localhost | |||
-> = | |||
-> PASSWORD('la_tua_password') | |||
-> ; | |||
Query OK, 0 rows affected (0.08 sec) | |||
mysql> exit | |||
Bye | |||
$ | |||
</pre> | |||
Se ora proviamo a loggarci nuovamente, dovremmo vederci negato l' accesso in questo modo: | |||
<pre> | |||
keltik@debby:~$ mysql -u root | |||
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) | |||
</pre> | |||
Riproviamo usando la password che abbiamo scelto in precedenza: | |||
<pre> | |||
keltik@debby:~$ mysql -u root -pla_tua_password | |||
Welcome to the MySQL monitor. Commands end with ; or \g. | |||
</pre> | |||
{{box|Nota Bene:|Lo switch "-p" usato nel comando ''mysql'' prevede che la passowrd venga digitata '''senza spazi tra il -p e la passoword effettiva'''. Non si tratta di un mio errore di battitura!}} | |||
Usare utenti con privilegi alti non mai una buona idea, per cui provvediamo a creare un utente a cui concederemo i privilegi minimi (ma al quale potremo dare privilegi pi alti per database specifici): | |||
<pre> | |||
mysql> GRANT USAGE ON *.* | |||
-> TO 'utente'@'localhost' | |||
-> IDENTIFIED BY 'la_tua_password' | |||
-> ; | |||
Query OK, 0 rows affected (0.02 sec) | |||
mysql> FLUSH PRIVILEGES; | |||
Query OK, 0 rows affected (0.04 sec) | |||
</pre> | |||
Se ora proviamo a loggarci con il nuovo utente, dovremmo riuscire ad autenticarci usando le credenziali specificate con il comando GRANT. | |||
Ora creiamo un database nuovo: | |||
<pre> | |||
mysql> CREATE DATABASE prova; | |||
Query OK, 1 row affected (0.00 sec) | |||
mysql> show databases; | |||
+----------+ | |||
| Database | | |||
+----------+ | |||
| mysql | | |||
| prova | | |||
| test | | |||
+----------+ | |||
3 rows in set (0.02 sec) | |||
</pre> | |||
ed assegnamo all' utente che abbiamo creato in precedenza piena diritti di amministrazione al database: | |||
<pre> | |||
mysql> GRANT ALL PRIVILEGES | |||
-> ON prova.* | |||
-> TO 'utente'@'localhost' | |||
-> ; | |||
Query OK, 0 rows affected (0.02 sec) | |||
mysql> FLUSH PRIVILEGES; | |||
Query OK, 0 rows affected (0.04 sec) | |||
</pre> | |||
Se ora ci logghiamo con il nostro utente e chiediamo una lista dei database, vedremo unicamente quelli su cui abbiamo privilegi: | |||
<pre> | |||
mysql> show databases; | |||
+----------+ | |||
| Database | | |||
+----------+ | |||
| prova | | |||
+----------+ | |||
1 row in set (0.00 sec) | |||
</pre> | |||
Ora creiamo una tabella all' interno del database ''prova'', giusto per verificare che sia tutto a posto: | |||
<pre> | |||
mysql> CREATE TABLE tabella (colonna1 VARCHAR(20), colonna2 VARCHAR(20)); | |||
Query OK, 0 rows affected (0.42 sec) | |||
mysql> DESCRIBE tabella; | |||
+----------+-------------+------+-----+---------+-------+ | |||
| Field | Type | Null | Key | Default | Extra | | |||
+----------+-------------+------+-----+---------+-------+ | |||
| colonna1 | varchar(20) | YES | | NULL | | | |||
| colonna2 | varchar(20) | YES | | NULL | | | |||
+----------+-------------+------+-----+---------+-------+ | |||
2 rows in set (0.08 sec) | |||
</pre> | |||
Se non abbiamo ottenuto errori passiamo al punto successivo, altrimenti verifichiamo tutti i passaggi precedenti. | |||
==PhpMyAdmin== | ==PhpMyAdmin== | ||
=Conclusioni= | =Conclusioni= |
contributi