Non riesci più ad accedere a MySQL come root?


8

Sembra che non riesca più ad accedere a MySQL (in realtà MariaDB) come utente root in Ubuntu 15.04 (ho aggiornato da 14.04 a 14.10)

Ho già provato a ripristinare la password.

Ciò che sta lavorando, è sudo mysql- ma voglio il login come root da un altro utente che utilizza mysql -uroot -p. Quando creo un nuovo utente con tutti i diritti e la password, funziona.

Qualcosa è cambiato?


ehm ... "ma voglio accedere come root" Per me (!) non c'è mai stato un motivo per questo. Puoi impostare il sistema per qualsiasi altro utente diverso da root e fare lo stesso da quell'utente se vuoi ;-)
Rinzwind

@Rinzwind Molte ragioni per accedere come root in un database . È l'unico modo per gestire utenti, database, ecc. Non esiste un meccanismo interno di sudo.
Oli

@oli usiamo un altro utente per quello. vale a dire. l'accesso con "root" è possibile solo quando si utilizza "sudo su" per ripristinare mysql ma non è necessaria alcuna autenticazione.
Rinzwind,

Risposte:


6

Quindi sei passato dalla versione 5.5.44-1ubuntu0.14.04.1a 10.0.20-0ubuntu0.15.04.1. Sembra più spaventoso di quello che è, è proprio quello che hanno chiamato 5.6 per qualche motivo .

Sembra che le versioni più recenti di MariaDB abbiano aggiunto un plugin alla tabella utente per forzare l'autenticazione attraverso un percorso fisso. In questo caso, l' rootutente del database viene forzato tramite il unix_socketplug-in . Anche questo sembra essere noto come auth_socketin alcuni ambienti.

Comunque questo plugin limita le cose in modo che solo l' rootutente di sistema possa accedere come database root, senza password. È una scelta di sicurezza che hanno fatto.

Puoi ripristinarlo cancellando il campo plugin per l' rootutente :

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Una password specificata dovrebbe funzionare dopo questo. Non sono sicuro di quanto sia consigliabile questo.


Successivamente, l'accesso tramite sudo mysql -u rootnon è più possibile. Ciò significa che /etc/mysql/debian.confdovrebbe essere adattato anche.
Alex,

4
Non ha funzionato per me. Dopo questo non ho più potuto nemmeno accedere con 'sudo mysql -u root'.
MrSmith42,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.