Come installare e configurare phpMyAdmin su Linux Mint 19 Tara

6 lug 2018 3 min di lettura
Come installare e configurare phpMyAdmin su Linux Mint 19 Tara
Indice dei contenuti

Introduzione

PhpMyAdmin è un'applicazione web che consente di utilizzare MySQL tramite il browser.

Installare PhpMyAdmin
Per installare phpMyAdmin dare questi semplici comandi da terminale:

sudo apt update
sudo apt install phpmyadmin php-mbstring php-gettext

ATTENZIONE
Durante l'installazione apparirà una schermata che vi chiederà se utilizzate Apache2 oppure Lighttpd. Apache2 sembrerà selezionato perché illuminato, ma non è così. Premere spazio per selezionarlo, altrimenti l'installazione non genererà i collegamenti necessari con Apache.

Dopo aver selezionato Apache2 vi verrà chiesto di utilizzare dbconfig-common, selezionare YES.

Inserire la password di amministratore del vostro database.

Scegliere e confermare la password per phpMyAdmin.

Abilitare l'estensione mbstring:

sudo phpenmod mbstring

Riavviare Apache2:

sudo service apache2 restart

È possibile adesso effettuare il login su phpmyadmin con l'utente phpmyadmin e la password impostata durante la fase d'installazione.

PhpMyAdmin di default non sarà in grado di utilizzare invece le credenziali di root.

Potreste riscontrare i seguenti errori:


#1698 - Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

La soluzione più semplice (e più sicura) è creare un nuovo utente e garantire i privilegi richiesti.

Modificare il metodo di autenticazione

A partire dalla versione 5.7 di MySQL, l'utente root di MySQL è impostato per l'autenticazione tramite il plug-in auth_socket per impostazione di default anziché con una password.

Per utilizzare una password per connettersi a MySQL come utente root è necessario modificare il metodo di autenticazione, da auth_socket a mysql_native_password.

Poiché non è stata impostata ancora nessuna password, è possibile connettersi al server MySQL utilizzando semplicemente il comando mysql oppure sudo mysql se si è loggati come utente normale. Successivamente sarà necessario utilizzare il comando mysql -u root -p da utente root, altrimenti sudo mysql -u root -p da utente normale.

Quindi se siete loggati come utente root, scrivere nel terminale:

mysql

Altrimenti se siete loggati come utente normale con privilegi sudo:

sudo mysql

Per verificare il metodo di autenticazione associato agli account di mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Dovresti ricevere un messaggio simile a questo:


+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Come potete vedere per l'utente root è impostato di default il metodo di autenticazione auth_socket.

Per utilizzare l'autenticazione con password per l'account root effettuare le seguenti modifiche:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Attenzione:
Potresti ricevere un messaggio di output simile al seguente: Your password does not satisfy the current policy requirements. Leggi questo tutorial per risolvere il problema.

Effettuare un refresh delle tabelle:

FLUSH PRIVILEGES;

Adesso è possibile verificare il nuovo metodo di autenticazione associato all'utente root:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Dovresti ricevere un messaggio simile a questo:


+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *E6A3377941E640ADEDCC8907E390B06B0C863862 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Uscire dal prompt di MySQL:

exit;

Per effettuare nuovamente il login al server MySQL adesso sarà necessario inserire una password, quindi da terminale:

Se siete loggati come utente root, scrivere nel terminale:

mysql -u root -p

Altrimenti se siete loggati come utente normale con privilegi sudo:

sudo mysql -u root -p

In questo modo potrete accedere su PhpMyAdmin oppure ad altro software simile con l'utente root.

Opzione 2: Aggiungere i privilegi root per l' utente phpmyadmin
Esegui i seguenti comandi:

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Adesso è possibile effettuare il login con l'utente phpmyadmin ed avere tutti i privilegi dell'utente root.

Opzione 3: Creare un nuovo utente
Adesso è possibile connettersi al database tramite PhpMyadmin utilizzando come nome utente "phpmyadmin" e la password inserita nei passaggi precedenti.

In alternativa è possibile creare un nuovo utente ed assegnare i privilegi necessari:

CREATE USER 'nuovo_utente'@'localhost' IDENTIFIED BY 'nuova_password';
Attenzione:
Potresti ricevere un messaggio di output simile al seguente: Your password does not satisfy the current policy requirements. Leggi questo tutorial per risolvere il problema.

Associare i privilegi di gestione all'utente appena creato:

GRANT ALL PRIVILEGES ON *.* TO 'nuovo_utente'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Adesso potete collegarvi al vostro indirizzo IP pubblico oppure in localhost aggiungendo /phpmyadmin alla fine dell'indirizzo.


http://vostro_dominio/phpmyadmin

http://localhost/phpmyadmin

L'installazione e la configurazione su Linux Mint 19 Tara è terminata.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.