• User

    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.


  • Moderatore

    All'utente non sono stati garantiti i necessari privilegi. Devi accedere come root e poi settare i privilegi per l'utente desiderato.


  • User

    @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.


  • Moderatore

    Perché skip-grant-tables?


  • User

    @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à?


  • Moderatore

    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.


  • User

    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.


  • User

    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?


  • Moderatore

    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.


  • User

    Grazie mille Paolino. Adesso funziona. Con i tuoi comandi sono riuscito ad accedere con phpmyadmin al database mysql. Grazie di nuovo. Problema risolto.