Project

General

Profile

MySQLInitConf » History » Version 16

Amministratore Truelite, 11/07/2009 12:47 AM

1 2 Amministratore Truelite
[[TracNav(TOC)]]
2 1 Amministratore Truelite
3 16 Amministratore Truelite
h1. Configurazione di base per [[MySQL]]
4 16 Amministratore Truelite
 
5 1 Amministratore Truelite
6 16 Amministratore Truelite
La configurazione di base di [[MySQL]] eseguita da Debian subito dopo l'installazione del pacchetto consente l'accesso database con l'utente di amministrazione _root_ senza password. Per questo motivo il primo passo da fare, immediatamente dopo l'installazione, è impostare una password per _root_; questo si fa con il comando:
7 1 Amministratore Truelite
8 16 Amministratore Truelite
<pre>
9 16 Amministratore Truelite
/usr/bin/mysqladmin -u root password [[NuovaPassword]]
10 16 Amministratore Truelite
</pre>
11 16 Amministratore Truelite
12 16 Amministratore Truelite
Se invece si è persa la password di _root_ del database il precedente
13 1 Amministratore Truelite
comando non funziona in quanto una volta impostata detta password questa diventa
14 11 Amministratore Truelite
necessaria per poterlo utilizzare. Per questo per poterla recuperare (o meglio resettare) occorre
15 11 Amministratore Truelite
seguire la seguente procedura. Il primo passo è fermare il database e farlo
16 1 Amministratore Truelite
ripartire senza meccanismi di controllo di autenticazione, questo si fa con i comandi:
17 1 Amministratore Truelite
18 16 Amministratore Truelite
<pre>
19 1 Amministratore Truelite
/etc/init.d/mysql stop
20 1 Amministratore Truelite
/usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
21 16 Amministratore Truelite
</pre>
22 1 Amministratore Truelite
23 1 Amministratore Truelite
a questo punto ci si potrà collegare al database direttamente con:
24 1 Amministratore Truelite
25 16 Amministratore Truelite
<pre>
26 10 Amministratore Truelite
mysql -u root
27 16 Amministratore Truelite
</pre>
28 10 Amministratore Truelite
29 16 Amministratore Truelite
ottenendo una shell SQL con privilegi di amministrazione; qui si potrà modificare la password impostata per l'utente _root_ tramite le seguenti istruzioni:
30 10 Amministratore Truelite
31 16 Amministratore Truelite
<pre>
32 1 Amministratore Truelite
use mysql;
33 1 Amministratore Truelite
UPDATE user SET Password=PASSWORD("NuovaPassword") WHERE User="root";
34 1 Amministratore Truelite
exit
35 16 Amministratore Truelite
</pre>
36 10 Amministratore Truelite
37 16 Amministratore Truelite
fatto questo la passord di _root_ è stata modificata e si potrà fermare il
38 10 Amministratore Truelite
database e riavviarlo con:
39 10 Amministratore Truelite
40 16 Amministratore Truelite
<pre>
41 1 Amministratore Truelite
/etc/init.d/mysql stop
42 1 Amministratore Truelite
/etc/init.d/mysql start
43 16 Amministratore Truelite
</pre>
44 8 Amministratore Truelite
45 9 Amministratore Truelite
Dopo di che si potrà verificare che l'accesso è possibile con la nuova
46 9 Amministratore Truelite
password con:
47 1 Amministratore Truelite
48 16 Amministratore Truelite
<pre>
49 1 Amministratore Truelite
server:~# mysql -u root -p
50 1 Amministratore Truelite
Enter password:
51 16 Amministratore Truelite
Welcome to the [[MySQL]] monitor.  Commands end with ; or \g.
52 16 Amministratore Truelite
Your [[MySQL]] connection id is 9 to server version: 4.0.24_Debian-5-log
53 1 Amministratore Truelite
54 1 Amministratore Truelite
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
55 1 Amministratore Truelite
56 1 Amministratore Truelite
mysql> show databases;
57 1 Amministratore Truelite
+-------------+
58 1 Amministratore Truelite
| Database    |
59 1 Amministratore Truelite
+-------------+
60 1 Amministratore Truelite
| mysql       |
61 1 Amministratore Truelite
| test        |
62 1 Amministratore Truelite
+-------------+
63 1 Amministratore Truelite
2 rows in set (0.00 sec)
64 1 Amministratore Truelite
65 1 Amministratore Truelite
mysql> \q
66 1 Amministratore Truelite
Bye
67 1 Amministratore Truelite
server:~#
68 16 Amministratore Truelite
</pre>
69 1 Amministratore Truelite
70 9 Amministratore Truelite
Si tenga presente infine che le ultime versioni del pacchetto Debian non
71 9 Amministratore Truelite
richiedono più un intervento manuale per abilitare l'ascolto su localhost in
72 9 Amministratore Truelite
quanto la riga:
73 1 Amministratore Truelite
74 16 Amministratore Truelite
<pre>
75 1 Amministratore Truelite
bind-address            = 127.0.0.1
76 16 Amministratore Truelite
</pre>
77 1 Amministratore Truelite
78 16 Amministratore Truelite
<pre>
79 3 Amministratore Truelite
80 3 Amministratore Truelite
Fatto questo si potrà passare alla creazione di un proprio database con il comando:
81 16 Amministratore Truelite
<pre>
82 3 Amministratore Truelite
mysqladmin -u root -p create nomedb
83 16 Amministratore Truelite
</pre>
84 3 Amministratore Truelite
che chiederà la precedente password, creando il database, a questo punto ci si potrà collegare al nuovo database con:
85 16 Amministratore Truelite
<pre>
86 3 Amministratore Truelite
mysql -u root -p nomedb
87 16 Amministratore Truelite
</pre>
88 3 Amministratore Truelite
e si potrà dare l'accesso allo stesso ad uno specifico utente con i comandi:
89 16 Amministratore Truelite
<pre>
90 15 Amministratore Truelite
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, DROP 
91 12 Amministratore Truelite
ON nomedb.* TO 'utentedb'@'localhost' IDENTIFIED BY 'password';
92 16 Amministratore Truelite
</pre>
93 6 Amministratore Truelite
e per garantirsi che questi siano immediatamente disponibili, si dovrà aggiuntere:
94 16 Amministratore Truelite
<pre>
95 6 Amministratore Truelite
FLUSH PRIVILEGES;
96 16 Amministratore Truelite
</pre>
97 5 Amministratore Truelite
98 5 Amministratore Truelite
Nel caso si sia fatto un errore nell'assegnare i permessi e nel creare l'utente, lo si potrà cancellare con i comandi:
99 16 Amministratore Truelite
<pre>
100 1 Amministratore Truelite
use mysql;
101 6 Amministratore Truelite
DELETE FROM user WHERE user="utentedacancellare";
102 16 Amministratore Truelite
</pre>