Geen toegang tot mysql database bij nieuwe Raspbian installatie

Nieuwe installaties van mySQL (suo apt-get install mysql-server) regelen de authenticatie op een andere manier dan voorheen: er wordt niet meer tijdens de installatie gevraagd naar een 'database administrator user'. In plaats daarvan wordt gebruik gemaakt van 'local unix authorization'. Het effect is, dat je oeverloos op zoek kunt naar de oorzaak van de foutmelding mysql - ERROR 1698 (28000): Access denied for user 'root'@'localhost', en via omwegen zonder enig effect het wachtwoord van de root user kunt wijzigen, of de installatie helemaal opnieuw doen en tot de conclusie komen dat er nog stééds niet om een wachtwoord wordt gevraagd. De oplossing is simpel, echter: wijzig het account van de root gebruiker zodat deze van een los wachtwoord gebruikt maakt, en voeg de normale pi user toe aan de mySQL installatie:

$ sudo mysql -u root

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

en toevoegen pi user aan toegangsrechten:

$ sudo mysql -u root

mysql> USE mysql;
mysql> CREATE USER 'pi'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON * . * TO 'pi'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='pi';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart