## Database

Ubuntu fornisce due server per database:

- MySQL™

- PostgreSQL

Sono diponibili nel repository «main». Questa sezione descrive come installare e configurare entrambi questi database.

### MySQL

MySQL è un robusto database SQL multi-thread e multi-utente. È concepito per funzionare in situazioni critiche, sistemi a elevato carico e anche per essere inserito in sistemi embedded.

#### Installazione

Per installare MySQL, eseguire i seguenti comando dal terminale:

    sudo apt-get install mysql-server mysql-client

Una volta completata l'installazione, il server MySQL dovrebbe avviarsi automaticamente. È possibile digitare i seguenti comandi in un terminale per controllare se il server è in esecuzione:

    sudo netstat -tap | grep mysql

L'output del comando precedente dovrebbe essere:

    tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

Se il server non funziana correttamente, è possibile digitare i seguenti comandi per avviarlo:

    sudo /etc/init.d/mysql restart

#### Configurazione

In modo predefinito la password di amministratore non è impostata. Una volta installato MySQL, la prima cosa da fare è configurare tale password. Per farlo, eseguire i seguenti comandi:

    sudo mysqladmin -u root password nuovapasswordrootsql

    sudo mysqladmin -p -u root -h localhost password newrootsqlpassword

E' possibile editare il file `/etc/mysql/my.cnf` per configurare le impostazioni di base -- file di log, numeri di porta, ecc. Fare riferimento al file `/etc/mysql/my.cnf` per ulteriori dettagli.

### PostgreSQL

PostgreSQL è un database relazionale orientato agli oggetti che presenta le caratteristiche di un database commerciale tradizionale e anche miglioramenti dei sistemi DBMS di prossima generazione.

#### Installazione

Per installare PostgreSQL, eseguire i seguenti comandi dal terminale:

    sudo apt-get install postgresql

Una volta che l'installazione è completata, è possibile configurare il server PostgreSQL a seconda delle proprie esigenze, sebbene la configurazione predefinita sia abbastanza buona.

#### Configurazione

In modo predefinito, la connessione attraverso il protocollo TCP/IP è disabilitata. PostrgreSQL supporta diversi metodi di autenticazione. Quello predefinito è il metodo IDENT. Consultare la guida della'mministratore PostgreSQL.

I passi seguenti assumono che si voglia abilitare la connessione TCP/IP e che si desideri utilizzare il metodo di autenticazione MD%. I file di configurazione di PostgreSQL sono nella directory `/etc/postgresql/<version>/main`. Per esempio, se si installa PostgreSQL 7.4, i file di configurazione sono nella directory `/etc/postgresql/7.4/main`.

Per configurare l'autenticazione ident, aggiungere delle voci nel file `/etc/postgresql/7.4/main/pg_ident.conf`.

Per abilitare le connessioni TCP/IP, modificare il file `/etc/postgresql/7.4/main/postgresql.conf`

Localizzare la riga #tcpip_socket = false e modificarla in tcpip_socket = true. Tutti gli altri parametri possono essere modificati, ma bisogna sapere cosa si sta facendo! Per maggiori informazioni, consulatere la documentazione di PostgresSQL o fare riferimento ai file di configurazione.

Le credenziali dell'utente, in modo predefinito, non sono impostate per l'autenticazione MD5. È quindi necessario, per prima cosa, configurare il server PostgreSQL all'utilizzo dell'autenticazione trust, connettersi al database, configurare la password e ripristinare la configurazione affinché utilizzi l'autenticazione MD5. Per attivare l'autenticazione trust, modificare il file `/etc/postgresql/7.4/main/pg_hba.conf`.

Togliere il commento a tutte le righe che contengono l'identificazione ident e MD5, quindi aggiungere la seguente riga:

    local all postgres trust sameuser

Eseguire i seguenti comandi per avviare il server PostgreSQL:

    sudo /etc/init.d/postgresql start

Una volta che il server PostgreSQL è avviato con successo, eseguire i seguenti comandi in un terminale per collegarsi al database template predefinito di PostgreSQL

    psql -U postgres -d template1

Il comando precedente connette al database PostreSQL template1 come l'utente postgres. Una volta collegati al server PostgreSQL, si sarà al prompt SQL. È possibile eseguire il seguente comando SQL al prompt psql per configurare la password per l'utente postgres.

    template1=# ALTER USER postgres with encrypted password 'tua_password';

Una volta configurata la password, modificare il file `/etc/postgresql/7.4/main/pg_hba.conf` per utilizzare l'autenticazione MD5:

Commentare la riga trust recentemente aggiunta e aggiungere la seguente:

    local all postgres md5 sameuser

La configurazione sopra indicata non è completa. Per la configurazione di altri parametri fare riferimento alla guida dell'amministratore di PostgreSQL.

Ssitemi per il controllo della versione |  | Servizi email