- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- Phpmyadmin non mi fa logale.
-
Phpmyadmin non mi fa logale.
Buon pomeriggio a tutti.
Ho creato un webserver casalingo con la distro debian 6. All' improvviso non riesco ad accedere al database mysql con phpmyadmin. Mi esce questo errore:
#1045 Impossibile eseguire il login nel server MySQL
Ho provato anche a cambiare password in questo modo:
mysqladmin -u root password "mia password"
Ma mi da errore:mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'Come posso risolvere il problema?
Mentre faccio così:
Riesco ad accedere al database mysql in questo modo. Da telnet ho stoppato.....
/etc/init.d/mysql stop
Poi ho dato il comando:
mysqld_safe --skip-grant-tables
mysql
Lascio così telnet.
Apro il brauser, digito phpmyadmin, metto user e password ed il gioco è fatto.Adesso mi sorge una domanda. Ogni volta che voglio accedere al database Mysql con phpmyadmin, devo sempre aprire telnet e dare i comandi citati sopra? Non c' è una alternativa?
Dimenticavo. il webserver lo gestisco da remoto, nella stessa rete lan domestica.
-
All'utente non sono stati garantiti i necessari privilegi. Devi accedere come root e poi settare i privilegi per l'utente desiderato.
-
@paolino said:
All'utente non sono stati garantiti i necessari privilegi. Devi accedere come root e poi settare i privilegi per l'utente desiderato.
Come faccio ad accedere come root? In modalita mysqld_safe --skip-grant-tables mi esce questo errore:
Messaggio di MySQL:
#1290 - The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
Non mi fa cambiare nulla. Ho tre utenti root. Il primo, host 127.0.0.1. il secondo, host debian e il terzo, host localhost. Tutti e tre ALL PRIVILEGES.
-
Perché skip-grant-tables?
-
@paolino said:
Perché skip-grant-tables?
Scusa la mia ignoranza. Non ne capisco nulla di linguagio Mysql. Mi dici la stringa da digitare da telnet?
Potrebbe essere questa?GRANT ALL ON Cinema.* TO 'cinema_root'@'localhost' IDENTIFIED BY PASSWORD '*6C8989366EA95CEF4';
La voce cinema è il database. Non fa nulla che l' utente root esiste già?
-
Da telnet puoi cominciare con
mysqladmin -u root -p'VECCHIAPASSWORD' password NUOVAPASSWORD
che setta la nuova password. Fatto questo dovresti essere in grado di accedere al dbms come root.
Cioè
mysql -u root -p
Fatto questo puoi settare una password per un altro utente
use mysql; update user set password=PASSWORD("NUOVAPASSWORD") where User='PINCOPALLINO'; flush privileges; quit
Se non funge, allora ci sono problemi con la configurazione. Ad esempio il servizio non è in ascolto sulle interfacce di rete giuste, oppure la socket non è stata proprio creata o ci sono dei settaggi di sicurezza che impediscono l'accesso.
-
Ho fatto come hai detto nell' ultimo post. Creazione nuovo utente fatto. Ma continua a non funzionare con phpmyadmin. Non sò come risolvere il problema.
-
Girovacando su google ho trovato questa guida:
//guide.debianizzati.org/index.php/Configurare_MySQL_per_accettare_connessioni_remote
Nel percorso**: **/var/run/mysqld/mysqld.sock il file mysqld.sock è vuoto, zero Kbayte. E' normale?
Adesso quando digito da telnet il comando:
mysql -u root -p inserisco la password e mi esce questo errore:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Non riesco più ad accedere. Come devo fare?
-
E' qui che entra in gioco quella cosa di prima. Disattiva il servizio mysql. Poi dai i comandi
mysqld_safe --skip-grant-tables mysql -u root UPDATE mysql.user SET Password=PASSWORD('blablanuovapassword') WHERE User='root'; FLUSH PRIVILEGES;
Però vorrei appuntare il fatto che il comando per loggarsi è
mysql -u root -p
la password la chiede lui non la si specifica. Non ricordo se si può fare in entrambi i modi, ma mi pare di no.
-
Grazie mille Paolino. Adesso funziona. Con i tuoi comandi sono riuscito ad accedere con phpmyadmin al database mysql. Grazie di nuovo. Problema risolto.