Innodb Architecture and analysis



Somehow, you lost the my_user.frm and my_user.ibd files. The data dictionary still has an entry for that table.
You cannot run DROP TABLE my_user; because mysqld looks for the my_user.frm first. Since this is no my_user.frm, the table cannot be dropped.
Although my_user.frm does not exist, you cannot run CREATE TABLE my_user … because mysqld thinks it is OK to create the table but then defers to the storage engine. InnoDB says “I already have the tablespace_id of my_user registered”.
This sequence of events can be proved if you create the table using MyISAM. mysqld will allow it. Once you switch to InnoDB, it goes right back to the data dictionary, which is faulty on that one entry.