Salta al contenuto principale

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à:

  1. Abilitare nella sezione [mysqld] della configurazione del server, mysql_native_password=ON, che però nei nostri test non ha funzionato
  2. 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

  1. È sufficiente editare il file di configurazione di MySQL

    nano /etc/mysql/conf.d/mysql.cnf
  2. Aggiungere come ultima riga nella selezione [mysql]

    [mysql]
    mysql_native_password=ON
  3. Riavviare il servizio

    systemctl restart mysql
  4. 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.

  1. Editiamo la systemd unit di MySQL

    nano /etc/systemd/system/multi-user.target.wants/mysql.service
  2. Aggiungiamo --mysql-native-password=ON alla linea ExecStart=/usr/sbin/mysqld

    ExecStart=/usr/sbin/mysqld --mysql-native-password=ON
  3. Eseguiamo il reload dei demoni systemd

    systemctl daemon-reload
  4. Riavviamo MySQL

    systemctl restart mysql
  5. 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:

Aggiungi un commento

Text Only

  • Nessun tag HTML consentito.