You may have heard about MySQL, it’s the free and popular open source database (relational database management system) which is used in many commercial, closed source or open source projects. And it’s nearly impossible to find a programming language which doesn’t support MySQL or at least have a community driven plugin oder library to get a connection from your programming language.
MySQL was created by MySQL AB (Sweden) in 1994 (1995 released) and then was sold in 2008 to Sun Microsystems. In 2010 Oracle bought Sun Microsystems.
But why MySQL became so popular?
Very easy answer: Because it was the first easy to use database. It’s easy to install, easy to maintain, fast to setup, easy to work with and it’s free – only the community edition.
You said fast, how fast?
Ok, I assume you are using Ubuntu.
apt-get install mysql-server mysql-secure-installation #follow the instructions to setup a password and secure your installation
And now you’ve setup a mysql-server, which is available under 127.0.0.1:3306 or via socket.
Some of you might think:
“Why is MySQL listed here, it’s not open source?”.
Yes and no, MySQL is open source – kind of. At the very beginning everything about MySQL was open source. But after the acquisition from Oracle, they do not release EVERYTHING as open source. Many functions and features became closed source and many useful functions are available only in the enterprise version (= paid). You might think now: “Meh, I thought I could work with it for free.” Yes you can, it’s still usable for the most applications. But you are not the only one with this thought. Many big names like Red Hat, Fedora and openSUSE are migrating to MariaDB are leaving MySQL and migrating to MariaDB. MariaDB = MySQL fork which releases everything as open source (GPL, LGPL or BSD).
Pros and cons:
- Easy to install
- Easy to use
- Fast to setup
- You find always the right answer at google about any problem, because of the popularity
- Can be used with nearly any programming language
- Solid (except within a cluster)
- Not really open source anymore
- Very difficult to scale through a cluster. (Galera is easy to use but under heavy load it produces very weird bugs)
- MySQL didn’t start as a RDMS. So it is not as feature rich as Postgres and many features are more like a workaround than a feature.
You don’t need to type any query into the bash. You can install one of the many tools which provides a GUI or a web interface. To name a few tools:
phpmyadmin, MySQL Workbench, HeidiSQL, Sequel Pro and many more…
Who uses MySQL?
The list is to long for this post, but here you will find a few handpicked projects and websites:
- and many more…
Final Question: Should I use MySQL in my project?
I hope you could answer it yourself after you read this article, but here is a small tip.
Generally I would recommend to use MariaDB – it’s stable, it’s really open source and it uses the same syntax.