J'ai une installation de Debian Stretch et une nouvelle installation de Mysql 8. (pas encore de changement de configuration). Lorsque j'essaie de créer un nouvel utilisateur avec:
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'xyz';
J'ai obtenu ce qui suit:
ERREUR 1726 (HY000): Le moteur de stockage 'MyISAM' ne prend pas en charge les tables système. [mysql.db]
Une suggestion sur ce que pourrait être le problème?
Je vous remercie
J'avais restauré une sauvegarde db dans mon nouveau système dev MySQL 8 sans réfléchir et écrasé les tables de base de données mysql. Ce n'était pas si difficile à réparer, mais il a juste fallu un peu de piratage pendant un certain temps et c'est ce qui l'a corrigé.
alter table mysql.db ENGINE=InnoDB;
alter table mysql.columns_priv ENGINE=InnoDB;
après cela, j'ai pu créer un utilisateur sans problème.
La clé était dans le message d'erreur.
ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.db]
Donc, je savais que c'était mysql.db qui était MyISAM et devait être autre chose donc je l'ai juste changé en InnoDB.
J'espère que cela aide quelqu'un!
Vous devriez peut-être envisager de vous éloigner de MyISAM. InnoDB est le moteur par défaut de MySQL depuis 5.6, MySQL 8.0 sera la dernière version à avoir un support limité.
Vous pouvez lire les détails dans cet article de blog Percona