Mon utilisateur root n'existait pas. Sur
CREATE USER root@localhost;
j'ai eu
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
La solution était de
mysqld_safe --skip-grant-tables &
mysql
INSERT INTO user (Host,User,Password) VALUES ('localhost', 'root', 'changethispassword');
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
Après cela, j'ai ajouté tous les privilèges un par un avec un peu d'aide:
mysql mysql -e "SELECT * FROM user WHERE User='root'\G"|grep N
(et celui-ci pourrait et devrait être automatisé davantage)
Remarque: trouver le nombre correct de «Y» dans le INSERT
est un PITA.