Devi reimpostare la password.so per questo
sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;
L'idea con la nuova configurazione è che non dovresti usare affatto le password. Vedere Plugin di autenticazione UNIX_SOCKET per i dettagli.
Ciò che è particolarmente rilevante è il contenuto di /usr/share/doc/mariadb-server-10.0/README.Debian.gz su Ubuntu 16.04:
Nelle nuove installazioni non viene impostata alcuna password di root e non viene più creato alcun utente debian-sys-maint. Invece l'account root MariaDB è impostato per essere autenticato utilizzando il socket unix, ad es. qualsiasi invocazione di mysqld da parte di root o tramite sudo consentirà all'utente di vedere il prompt di mysqld.
Non puoi mai eliminare l'utente mysql "root". Sebbene non sia impostata alcuna password, il plug-in unix_auth garantisce che possa essere eseguito solo localmente come utente root.
Le credenziali in /etc/mysql/debian.cnf specificano l'utente utilizzato dagli script init per arrestare il server ed eseguire la registrazione. Questo era l'utente debian-sys-maint che non è più utilizzato come root può essere eseguito direttamente.
Quindi, se disabiliti quel plug-in per root e imposti una password, il cron job giornaliero si interromperà poiché presuppone che effettuerà l'accesso come root senza password, ma con il plug-in.
Più tardi dice:
Gli script devono essere eseguiti quando un utente dispone delle autorizzazioni richieste ed è identificato tramite unix_socket.
Quindi sembra che le password non debbano più essere utilizzate dalle applicazioni.
Ho risolto il problema seguendo la risposta di questo post:
Impossibile reimpostare la password di root di MySQL (MariaDB)
Bisogna cambiare il campo plugin di mysql.user per tutte le radici in una stringa vuota.