1

We would like to avoid using MyISAM tables because they don't support transactions. However, I've noticed that many internal tables in MySQL use MyISAM. I can get a list like this:

select table_name from information_schema.tables where engine = 'MyISAM';

Is it possible to set up MySQL in a way where none of its tables will use MyISAM? Can MySQL work properly in this way?

Nick Retallack
  • 1,906
  • 3
  • 16
  • 21
  • https://dev.mysql.com/doc/refman/5.7/en/myisam-storage-engine.html indicates it's optional – Ramhound Mar 30 '17 at 23:27
  • Did you read my question? – Nick Retallack Mar 31 '17 at 19:02
  • Of course I read your question. If you are declaring the engine to be `MyISAM` then technically that table isn't consiered to be an internal table. If you want an internal table you want to declare the engine as `memory` *Please remember the most important rule is to be nice to everyone*. You can also use the `InnoDB` engine type, although that also, wouldn't be considered an internal table. – Ramhound Mar 31 '17 at 19:59
  • Run the query in my question and see what you find. Not all internal tables use the "memory" engine. – Nick Retallack Mar 31 '17 at 20:56

1 Answers1

0

Yes, is it possible and desirable to run MySQL without any MyISAM tables.

Since I started using MySQL (V5.5 now 5.6) with all InnoDB type, I have found no issues.

Stephen Rauch
  • 3,091
  • 10
  • 23
  • 26
tatskie
  • 109
  • 2
  • Did you read my question? I'm talking about internal MySQL tables. I'd like to know how to even set it up this way. – Nick Retallack Mar 31 '17 at 19:01
  • then you may try experimenting changing each MyISAM table that you see to any engine you want. the syntax is `ALTER TABLE ENGINE=;` so will find your answer. – tatskie Apr 01 '17 at 11:15