Stop Fake News! The most common fake news about MySQL (contains bad language)

Since I have been working with MySQL, I saw a lot of comments about the MySQL ecosystem, which, if they are not made in a bad intention to sell commercial software, they lack a lot of fundamentals and knowledge about its behavior.

Like a mantra in my life, researching the information source and have critical thinking about what I read is fundamental to filter the garbage. Especially when we are talking about technology, things that we considered valid rapidly change, and you need to be open to hear and re-think what was true and false.

So if you are still here, the following list may change in the future! So the lesson is:

Make your brain faster than your fingers!

Saying that, let’s see a list of fake news about MySQL:

MySQL is not transactional and is not safe to store data on it.

Lord Jesus. I hear this more frequently than I would like, but it happens. This statement is true when you are using MyISAM, which is an engine that was used by default until 2009, before Oracle acquiring MySQL. Even astronauts are not using software from this decade, and you should not use either.

MySQL is paid, and Oracle will charge you for it.

Kurwa! No, no! MySQL is100% GPL; this means that if you want, you can fork the code and compile your Database. Do I hear a DarthVader DB?

MyISAM is faster than InnoDB

Puta Madre! When InnoDB was a baby this around 2001, this was true due to tons of bugs, and the engine was not mature enough. Unless you are an archeologist, you should not be saying this anymore. Furthermore, InnoDB respects ACID properties, and MyISAM does not.

MariaDB and MySQL are the same.

Said that consultant desperately trying to finish the project. As they shared a lot in common recent past, they are becoming more and more different nowadays. This is a point of intense debate, but MariaDB itself has a compatibility matrix so you can check:

MySQL is better than Postgres or vice-versa.

As long as it is to make jokes about your colleague that uses Postgres(what a name), both databases are outstanding and serve a myriad of purposes. If you want to be taken seriously by database experts, don’t fall into this database wars.
Honestly, even Oracle database has its purpose, although I don’t have $$$ for it.

MariaDB is the free version of MySQL.

Said someone that felt from the bed when it was a baby. Both are open-source databases, and they share a lot in common, although they are becoming incompatible nowadays.

The only backup option available for MySQL is the mysqldump.

Even the Joker wouldn’t make a joke so bad as this one. There are a lot of options in the community, and they are free such as Percona Xtrabackup, mydumper, and myloader, and more recently, MariaDB has been working on its solution (Mariabackup). And I’m not even counting the filesystem backup strategies.

MySQL is not able to make a toast.

The worst sin you could make if you say this is false! Ok, if you never been in the MySQL world, the 2nd bug born in the bug system as a joke among engineers was:

Bug #2 Does not make Toast

There are interesting comments in this bug, so I recommend reading it. However, in 2016, Alexander Rubin made this happen and explained how:

So that’s my list! I hope you enjoyed it and had some fun! The idea of this post is to spark critical thinking in ourselves, not only for technology but for all things in life.

See ya!

4 thoughts on “Stop Fake News! The most common fake news about MySQL (contains bad language)

  1. lefred

    And don’t forget that YES we accept contributions… and we got a lot in 8.0 !

    Cheers !

    • Vinnie Post author

      For sure I will keep contributing! Thanks Lefred!

  2. Kevin

    So, is It true that mysql database version 8.0 ir higher does no support myisam store engine?

    • Vinnie Post author

      The engine is still available but with a very limited scope.

      master [localhost:46009] {msandbox} (test) > create table vinnie (i int primary key) engine=myisam;
      Query OK, 0 rows affected (0.01 sec)

      master [localhost:46009] {msandbox} (test) > select @@version;
      | @@version |
      | 8.0.19 |

Comments are closed.