MySQL Plugin mysql-native-password not loaded
Dalla versione 8.4 MySQL implementa l'autenticazione mysql-native-password, che al momento in cui scriviamo ha problemi nell'installazione in Debian 12 e Ubuntu per la mancanza del plugin necessario, vediamo come abilitarlo
MySQL Plugin mysql-native-password not loaded
Durante l'installazione da MySQL 8.4 è comune questo errore dovuto alla mancanza del plugin per le native-password
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
MySQL 8.4 e superiori implementano l'autenticazione mysql-native-password
, che al momento in cui scriviamo ha problemi nell'installazione in Debian e Ubuntu
La documentazione ufficiale suggerisce due possibilità:
- Abilitare nella sezione
[mysqld]
della configurazione del server,mysql_native_password=ON
, che però nei nostri test non ha funzionato - Avviare il servizio con
--mysql-native-password=ON
a. Abilitare mysql_native_password
nella configurazione di MySQL
La soluzione più utilizzata e semplice per risolvere l'ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
è modificare il file di configurazione di MySQL, e abilitare il caricamento del plugin mysql_native_password
È sufficiente editare il file di configurazione di MySQL
nano /etc/mysql/conf.d/mysql.cnf
Aggiungere come ultima riga nella selezione
[mysql]
[mysql] mysql_native_password=ON
Riavviare il servizio
systemctl restart mysql
Testare l'autenticazione
mysql -u root -p
b. Avviare MySQL con --mysql-native-password=ON
in systemd
E' possibile che modificando la configurazione del server si presenti comunque il nostro errore ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
, in questo caso dovremo modificare la systemd unit
che gestisce l'avvio di MySQL.
Editiamo la
systemd unit
di MySQLnano /etc/systemd/system/multi-user.target.wants/mysql.service
Aggiungiamo
--mysql-native-password=ON
alla lineaExecStart=/usr/sbin/mysqld
ExecStart=/usr/sbin/mysqld --mysql-native-password=ON
Eseguiamo il reload dei demoni
systemd
systemctl daemon-reload
Riavviamo MySQL
systemctl restart mysql
Testiamo l'autenticazione
mysql -u root -p
Configurare le mysql-native-password
Maggiori dettagli sulle mysql-native-password
e alla native-pluggable-authentication
sono disponibili nella documentazione ufficiale di MySQL al link: