web-dev-qa-db-fra.com

Comment corriger l'ERREUR 1726 (HY000): Le moteur de stockage 'MyISAM' ne prend pas en charge les tables système. dans Mysql 8.0 après CREATE USER

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

4
user3717337

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!

5
jbrahy

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

1
Erik