Salta al contenuto principale

Fix MySQL Plugin 'mysql-native-password' is 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' is 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

start the server with --mysql-native-password=ON (added in MySQL 8.4.0), or by including mysql_native_password=ON in the [mysqld] section of your MySQL configuration file

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

2. Avviare MySQL con --mysql-native-password=ON in systemd

È possibile che modificando la configurazione del server si presenti comunque l'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

Comment

  • Elementi HTML permessi: <br> <p> <code class="language-*"> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Solo le immagini ospitate su questo sito possono essere utilizzate nel tag <img>.