Se esegui semplicemente il comando mysql con l'utente root, ti verrà concesso l'accesso senza richiesta di password, poiché l'autenticazione socket è abilitata per [email protected]
Questa guida è fuorviante.
L'unico modo per impostare la password è passare all'autenticazione nativa come:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Nella mia folle ricerca di una soluzione ho dato un'occhiata a /var/log/mysqld.log
e ho trovato questa riga:
[Nota] Viene generata una password temporanea per [email protected]:abc123
Sembra che mysql 5.7+ generi una password casuale nell'installazione e venga richiesta in quel file.
Utilizzare i passaggi seguenti per reimpostare la password:
$ sudo systemctl start mysqld
Reimposta la password di root del server MySQL.
$sudo grep 'temporary password' /var/log/mysqld.log
Genera qualcosa come:
10.744785Z 1 [Note] A temporary password is generated for [email protected]: o!5y,oJGALQa
Usa la password precedente durante il ripristino di mysql_secure_installation processo.
$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Hai reimpostato correttamente la password di root del server MySQL. Usa il comando seguente per controllare se il server MySQL è connesso o meno.
$ mysql -u root -p
Vedi il mio articolo:Installa l'ultimo MySQL 5.7 su RHEL/Centos 7