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