17 years helping Singaporean businesses
choose better software
MySQL
What Is MySQL?
MySQL is fast, reliable, scalable, and easy to use. It was originally developed to handle large databases quickly and has been used in highly demanding production environment.
MySQL Products:
MySQL HeatWave, our fully managed database service, for OLTP, OLAP, & ML workloads.
MySQL Enterprise Edition for delivering business-critical, enterprise database applications.
MySQL Enterprise Edition for ISVs, OEMs and VARs who want a proven, low cost, embedded database.
Who Uses MySQL?
MySQL suits organizations of any size, in any industry, including Enterprise and SMB across Web & E-commerce, Financial Services, Healthcare, Retail, Telecom and More.
Not sure about MySQL?
Compare with a popular alternative
MySQL
Reviews of MySQL
Alternatives Considered:
A thought on MySQL
Comments: As currently I have developed inventory system, clinic system, an backend application for a private company to manage huge no of memberships and ads, and a UK company for manage Business Name , Limited company, trademark and domain registrations and renewals. All of these used with mysql its those are running smoothly. Never had any headaches as through sql queries can manipulate easily and had fast responses for even complex queries and for huge no of data Frameworks used are spring boot and laravel.
Pros:
Known and used by most people as most secure and reliable relational database management system. Accompanies 99.99% uptime. Nothing to fears as open source. Can have millions of helps through community. Offers a wide scope of high accessibility like cluster servers master slave replication. Provides high performance even for large volume projects. Growing and improving frequently. Best for cloud applications and big data applications. Supports by huge no of frameworks.
Cons:
Red Hat Enterprise Linux, openSUSE, Fedora, Slackware Linux etc moved to MariaDB.
Alternatives Considered:
Great overall but has some very important caveats.
Comments:
Mysql as any other tools has it's advantages and downsides.
It may be fast, ACID-compatible, it may serve as memory cache.
It has some dark corners and sometimes may hang on complex queries, or even corrupt the data (this is really rare case, but I faced it more than 10 times during my experience).
Consider your scenario carefully.
And always, always, ALWAYS make backups.
Pros:
There a whole world of documentation, best practice, books on mysql. It can be found on nearly any cloud, system, paas. It is really fast (on MyISAM), support transactions (InnoDB), may perform as in-memory cache (memory), or even CSV (never use this one except for testing or reports). Deploy and set up takes next to no time, it consumes very little resources. Actually I feel it is hard to write a review on MySql because over decades of extensive usage it become the standard de-facto, even LAMP has (M) for MySQL. It is a mature if, well known RDBMS with tons of extensions and forks (not sure I may name them here). It is worth to mention though that MySQL is a default backend storage for a whole number of software. MySQL is compliant to SQL standard though with some differences. It may require some changes to your codebase but still, they should not be critical. What will really surprise you is that ORDER by lacks "nulls first/last" clause and that collates may surprise you. In a somewhat unpleasant way. Window functions, virtual tables, temporary tables are here as well and trust me - this is quite important matter, something that is a vital part of any DB. You will find a lot of web and standalone management tools to work both with server and data, some of them are free, others are not, chose yours.
Cons:
First and biggest cons is that MySQL is not suitable for big amount of data. It always had and still have troubles performing complex joins. Database may get corrupted under some scenarios when significant selections is performed same time as other clients perform batches of inserts/updates (basically, there is a long lasting bug in memory management). Transactions are available in a single engine InnoDB and it is much slower than MyISAM. Worst thing is that in scenarios with multitenant databases with somewhat mediocre load MySQL starts to leak memory. This i a known well-issue, and there is no cure at this moment, you have to reboot the database instance. This is simply a disaster. Performance insight is something that could enjoy some more love. While Mysql is compatible with most of standard SQL, there are still some hard to explain differences.
Easy to learn and use - effective tool
Comments: Overall wonderful experience and great learning tool
Pros:
Very user friendly and easy to learn and connect
Cons:
Large datasets are not easily supported and may not be compatible
Alternatives Considered:
MySQL the default database server
Comments: We just use MySQL for all of our databases
Pros:
It's the default standard for many companies. MySQL has grown into a very stable product that never crashes. We've made the move to MariaDB, but found that the tables sometimes get corrupted when restarting a database server under heavy load. With the recent speed improvements to MySQL, we have decided to actually migrate back to MySQL.
Cons:
I'd really like if they would spend a bit more time on their CLI interface. As in, syntax highlighting in the CLI, an easier way to scroll through multiline queries when going through the history. I would also like it if we can specify a color scheme to use for the output.
Fantabulous Database Management Program
Pros:
Databases management in one place is what I like most about MySQL.
Cons:
It was quite daunting to deploy MySQL, but we acquired third-party system integrators.
Alternatives Considered:
MySQL has always been one of the best relational databases
Comments: Many of our relational databases work nowadays with MySQL, we find it easier to maintain than PostgreSQL or other alternatives, as well as it's knowledge more broadly distributed due to it being very beginner friendly for web projects, joined with PHP usually.
Pros:
First of all there's a free community version, as well as alternative software like MariaDB and Percona Server which have an open-source approach as well. There are multiple services to manage MySQL like Amazon RDS as well as similar products on GCP or Azure, so it's not entirely required to have expert knowledge to use these databases if you are willing to pay for support.
Cons:
The upgrade process for MySQL requires downtime and it's not easy to perform a rollback either (on some cases it's entirely impossible unless you restore a backup). Managed services don't provide a zero-downtime upgrade process either, except for migration all your info and deltas into a new database (which sometimes is not entirely available)
Alternatives Considered:
The well balanced
Comments: I use MySQL in many personal projects, like my automated house project. It was a very good choice, I'm happy with this. Also, in the past, I have worked with MySQL and PHP in my company's intranet page. It was a good tool, but as the company grows, we need to migrate to another platform. Also, it is important to say that if you use the correct database engine with MySQL, you can have foreign keys and other types of constraints so it is very flexible.
Pros:
MySQL is a well balanced product, while it is free to use, it also has many features you can find in corporative solutions, like SQL Server and Oracle. If you ever need help, you will find answers almost everywhere, from their own documentation to stackoverflow and other forums, easily. You will have a very short learning curve with MySQL.
Cons:
When you need to deal with great amount of data, like some kind of data warehouse structure or huge amount of measures to analyze, you better go other choices. It starts getting too slow with the same hardware other products will work smoothly. But I guess that is not the purpose for MySQL. In the other hand, if you want it to build a transactional system like an e-commerce platform or even a Blog page, it is a very good choice!
My opinion on MySQL
Comments: I've been using MySQL to manage small servers for tests and final products and I have nothing much to complain about, it really does what needs to be done and is really secure and fast.
Pros:
The management of data is easy, fast and smooth with MySQL, the permissions system is well secure, it's flexible and the search/filter feature really helps a lot.
Cons:
Since it's considered like a light software, the management for big databases is really slow.
Alternatives Considered:
MySQL- dependable for your smaller database and data extraction needs
Comments: We have thoroughly enjoyed the ease of use for MySQL for our smaller database and dataset needs. Have been using it for over a decade.
Pros:
If you have even a small amount of experience with SQL, you will find MySQL easy to use. We can easily create a database, tables and queries on the fly for any of our data needs.
Cons:
Best suited for smaller databases, not large datasets.
MySQL: A Widely Supported Solution with Some Feature Limitations
Comments: I have over 3 years experience with MySQL.
Pros:
MySQL is one of the most widely used databases, meaning there’s extensive documentation, community support, and established best practices that can assist in troubleshooting and optimization.
Cons:
Compared to other databases like PostgreSQL or Oracle, MySQL lacks some advanced features such as full-text search and partial indexes, which may be a limitation for certain use cases.
Alternatives Considered:
Stable Database for Every Project
Pros:
I came from programming background who used PHP as primary language and naturally MySQL was the database for the backend. One feature about MySQL is how easy it is to setup and use and how flexible it is to operate. I have used both the CLI (Command Line Interface) and GUI (Graphical User Interface) to interact with the database to create tables, add records, update and remove records, all seem really fast and stable. I used MySQL on my Windows, Mac, and Linux machines without any hiccups. It follows the traditional Relational Database Management System structure with you first create the database, then the tables, then add records to the tables before you can query them. The client used to interface MySQL include the web-based tool like PHPMySQL, and Windows tool like HeidiSQL or MySQL Workbench. These tools all connect to the database very easily. These tools also lets you backup your database for offline storage.
Cons:
The recent trend of database has gone from the traditional Relational model to NoSQL, which is a SQL platform that uses mostly JSON format to store data instead of the traditional database tables and records. This is where MySQL lacks, MySQL doesn't have the ability to run as NoSQL so if you intend to use a NoSQL database, MySQL is not for you. One other thing I noticed about MySQL database is if you have a large collection of data and IF your SQL query is not very optimized, the speed to return the data set can be very very slow. Of course, the only way to fix it is optimize or change your query.
Alternatives Considered:
MySQL is hands down the best free database software
Comments: Overall, MySQL isn't always the right choice, but for startup applications and smaller projects, it's the best. Over time you have to learn when to use certain database software, but as a general rule of thumb, MySQL absolutely can handle anything with some configuration and the price is incredible (free). Personally, I've done research on JSON based databases and they lack structure and make things a pain in the long run, which is why I'm only mentioning MySQL and SQL Server in this review. There are other similar acceptable alternatives such as postgres but I've never had reason to use them over MySQL.
Pros:
- If you structure your database correctly, it's very stable - It's free, and there are MySQL derivatives (MariaDB) that are even more powerful - The xtradb database engine in MariaDB (a derivative of MySQL) is incredibly fast - You can do things quickly and have some data integrity risks on small projects, or you can do things properly and have virtually no risk on mission critical applications - VERY easy to scale and setup database clusters and replication, especially in all of the cloud providers
Cons:
- The barrier for entry is too low, causing MySQL and MariaDB to get a bad rep because inexperienced users take advantage of its simplicity - Performance isn't on par with MSSQL/SQL Server without a ton of configuring
Alternatives Considered:
Still good after lots of years
Comments:
I've been using MySQL for 12 years. It was great then and it's great now. Lots of features have been added and query speed has been improved by a lot.
Since it's a software that has been around us for many years, I insist, the backwards compatibility isn't the desired one, all the needed adjustments to datasets generated in old versions (that are still running in production environments) rely on the dba. Would be great if there could be a utility that handles that.
Pros:
I like that it has a community edition which allows to get the software for free with community support. In the case of red hat/CEntOS host, a repository settings can be added and the installation is pretty straightforward. As long as it is correctly setup according to the server resources and expected demand, it runs pretty fast, it is stable and supports lots of connections.
Cons:
I feel that it has been starting to loose its backwards compatibility. If you need to use a previous feature, for example, if you want to use the mysql native password, now you need to specify it when creating a user, otherwise, it won't work straightforward with most CMS software. Also, as some datatypes are being improved (which should be a nice to have feature), when migrating to a newer version, restoring a dump can turn into a headache. The users model have also changed, so, if you had a very large users set, you have to do some work to make it work again in newer versions.
Alternatives Considered:
Great database for an SMB
Comments: MySQL served global operations for multiple SMBs I worked with in my career. It powered public websites as well as internal applications. No matter which well-known programming language you use, MySQL support will be fantastic. Backup and restore was very easy. To monitor MySQL, we used Monyog/Webyog. We used Percona MySQL and used XtraBackup for backup and restore. We also set up replication, which was very easy to do. The cost of operation was only a few hundred dollars a year and we got excellent value out of it.
Pros:
Speed. MySQL is fast! Now, fast is a relative term which depends on workloads, database design and more. I work in Small and Medium Businesses space where a couple hundred GB of data in database or less is common. MySQL's performance has been blazing fast in majority of the installs with default or with slight change in configuration.
Cons:
Confusion of selection is the least favorite. MySQL Community/Enterprise edition from Oracle is the most common for those who know MySQL. If you are new to MySQL and researching it for your small business, you'll inevitably come cross MySQL from Oracle, MySQL from Percona, MariaDB etc., which makes your selection process harder. I recommend installing MySQL downloaded from Percona. If you want support, Percona provides that too at a reasonable cost.
Alternatives Considered:
My Experience With MySQL
Comments: I have been using MySQL for about 3 year now and it has been a great experience. The database is very easy to use and the support is great. There have been a few times when I have had to contact customer support and they have always been very helpful.
Pros:
MySQL is free and open source software.It has a large community of users and developers.It is easy to learn and use. It is portable and can be used on many different platforms. It is fast and efficient.
Cons:
The only downside to MySQL is that it can be a bit slow at times. This is usually when I am running a lot of queries at the same time. Overall, though, I have been very happy with MySQL.
Alternatives Considered:
10 Years of MySQL
Comments: MySQL is a robust and scalable choice for many database-driven projects, offering numerous advantages for both beginners and experienced developers. I appreciated this coming in as a novice and learning overtime how important a functioning database is to a project.
Pros:
MySQL's compatibility with various platforms and extensive support for programming languages contributes to its versatility, making it suitable for diverse applications. Moreover, its extensive online community and detailed documentation make troubleshooting and learning effortless.
Cons:
MySQL lacks some advanced performance optimization features found in other database management systems. This limitation may require additional effort to optimize complex queries manually.
MySQL is lighter and fast database
Comments: Our application has 2-way interface, data-entry and user / customer interfaces. On one hand it is being used with .Net for data-entry part of application and on other hand being used with PHP for user / customer interface. The .Net part is deployed locally while user / customer interface is deployed on Azure. A in-house developed desktop utility is also being used to transport data from local MySQL server to Azure MySQL database. We are having almost 2M transactions in few tables, working well. It helps us to save the licensing cost. It is also being used in our other websites in backend for data storage and retrieval.
Pros:
The thing I like most about MySQL is, It is available for multiple operating systems like Windows, Linux, etc. It is free and open-source. It is very lighter in comparison to MsSQL and very fast. It is very easy to learn and use. It is very easy to install, configure and manage. The syntax is very identical to the same we use sentences in English. It is capable to hold large data in tables. It is best free database with enterprise level features. It is supported by almost all popular programming languages. There are numerous 3rd party custom tools available for it.
Cons:
With huge data, I had faced data loss and improper data retrieval but it is very rare and manageable. Some of the error messages are so general and unable represent the actual problem. Some error messages are so weird then the actual problem. It gives sense of insecurity at some points.
Simple and well tested
Comments: MySQL has been around for a long time and I have been using it as my go-to database for as long as I'm working with websites. With its incredible stability, all of my websites databases are in safe hands. With recent updates it actually became even faster and more stable. I can only recommend it as the best and fastest database for small and medium size projects.
Pros:
The thing I like most about MySQL is that it is free, open source, and fast. It is extremely stable, and I don't remember the time it crashed for whatever reason. Another additional benefit is that it supports multiple operating systems.
Cons:
Really large databases become slow and need a lot of maintenance. Error messages are often vague and unhelpful so finding what went wrong requires a lot of work.
Alternatives Considered:
Strong and Open Source RDBMS
Comments: In MySql you create the database first, then the tables, and then you add records to the tables before you can query them, following the traditional structure of the Relational Database Management System.So it is flexible to operate .
Pros:
It is free software and also open-source. It's much faster and lighter than MsSQL. It is extremely easy to use and comprehend. It's easy to set up, use, and run. The structure of the language is remarkably similar to that of English sentences.
Cons:
I think some of the error messages are so broad that they cannot accurately describe the issue. Some error messages are more bizarre than the problem itself. At times, it creates a sense of insecurity.
lightweight but reliable and effective.
Comments: MYSQL saved my company money on longtime basic and have also resulted in faster processing time from database call and query while its ability to work well with third-party interface application meant that I do not have to work from command prompt screen.
Pros:
I used MySQL in a project that was covered under the GPL license thus it was free. This helped My company save a lot of expenses compared to when we were using another DB software. My adaptation to MYSQL was quick based on my previous use and knowledge of MSSQL which have similar Coding structure and many parallel functions. MYSQL, been open sourced means that there are tons of thousands of supports and help is available on the internet. I have found this to be particularly very helpful in sorting out otherwise difficult situations. Reliability of MYSQL is the reason MYSQL is the most used database client and I cannot agree less! Been a witness to its reliability, I can say that MYSQL does what it was designed for effectively…and to think it is always been improved upon. I have used MYSQL with Apache/Tomcat JAVA, Perl. , PHP and JSP and it Worked seamlessly with them. I have observed that MYSQL works best for me when called from Spring Web Flow either through a Hibernate layer or JDBC though. MYSQL is flexible, easy to install because of its lightweight and can scale to very heavy DB without the need for additional support. So far, there has not been a need to change to a new database management application for us. The only downside I have noticed is on query time speed. for instance, a query that use to call for 0.18 seconds now does 0.23 seconds due to DB expansion over the period of 1 year which is still acceptable.
Cons:
The need for technical support is overwhelming even though you will most likely find help on the internet. It is difficult to get your actual database performance base on your system specs adaptation like memory utilization and usage during different calls. There is a shocking lack of documentation for many functions embedded within the program and I had to resort to the internet to uncover their uses. You are going to have to learn MYSQL irrespective of your previous knowledge of query languages. This can be more difficult if you are totally new to structural languages and querying tables. The fact that MySQL does not support ARRAY data types means it cannot be adapted to certain situations and projects. I advise you get detailed need analysis before jumping on MYSQL to avoid data type mismatch and project regrets.
Scalable software for simple to complex applications
Comments: I have had a generally good experience with MySQL. The MySQL RDBMS overall is an excellent software platform. I use it for an auction website that I designed. It takes quite a bit of study to learn about things like the column types and proper table structuring but as a layperson (i.e. not a professional programmer) you can learn the software well enough to make proper use of the program.
Pros:
MySQL integrated really well with the PHP scripting language. MySQL is what is called a Relational Database Management System (RDBMS). It is a software system that uses the SQL database query language to manipulate data in a database. MySQL provides for data handling, storing, modifying, and deleting in a tabular format. You can design your database so that each table has a key to at least one other table and that each table can access data in every one of the other tables in the database (hence the word "relational"). With a properly designed MySQL database you won't have any orphaned rows or tables. The database queries that use SELECT, UPDATE, or DELETE are simple and straightforward to use with the PHP scripting language. As an end user, like myself, you don't have to install and maintain this software. The MySQL software comes preinstalled on most server hosting plans meaning the server hosting provider does the installation and maintenance for the software.
Cons:
The MySQL reference manual is not clear enough in describing how to utilize many of the features for MySQL. The manual is too technical and apparently is designed for persons with a high level of computer programming or technical knowledge. The manual is sometimes confusing when seeking to find the proper column type to use (i.e. TEXT, CHAR, VARCHAR, etc.). The Date and Time functions for MySQL like DATE and DATETIME are hard to understand and difficult to implement. The table join features are difficult to understand and use.
Outstanding Database System
Comments: I have been using MySQL for years now to design and deploy dynamic websites and online software. It is one of the easiest and best database systems I have used. It does have a few quirks and things that can get a little frustrating from time to time, but all in all it is an amazing system and I don't hesitate to recommend it to anyone. Because it is free there really isn't a lot of direct support for it. That said there is a huge community of users and it is normally very easy to find an answer to question or get help when you need it. This is truly one of the best database systems you can use.
Pros:
- First off it is free and open source - Excellent scale-able database system - Works perfectly with Linux or Unix servers - When paired with PHP MyAdmin you can easily work inside your databases from anywhere - Excellent storage capacity and retrieval - Can easily store millions of records without issue - Did I mention it is FREE!
Cons:
- Unless you want to be working in a command prompt you need to install 3rd party software like PHP MyAdmin to administrate the database; that said most hosting companies install these by default for you already. - Some built-in functions to MySQL actually slow down queries to a crawl and ignore your indexes; for example using the DATE() on a datetime column ignores any index in that column. - Not as robust as Oracle or SQL for large datasets; it will work but it does slow down performance as your data pool grows. Normally this does not happen until you get well into the millions of records and even then there are things you can do to speed up performance but it is worth noting it is not as fast out of the box as other enterprise systems.
MySQL: the cost-efficient RDBMS from Oracle
Pros:
MySQL was initially an open source RDBMS till it was acquired by Oracle corporation. MySQL was integrated with a very versatile web interface PHPMyAdmin which provided a full-fledged database client that allows administrators to manage the creation of database entities including tables, views, stored procedures, triggers, users, .... MySQL supports the various SQL 92 constructs including DDL, DML, and DCL SQL statements. It is not supported with advanced Undo/Redo Logging algorithms as in the case of Oracle database, but still can support advanced SQL queries with decent optimization mechanisms.
Cons:
PHPMyAdmin suffered from performance lagging and bottlenecks specifically when inserting database rows. The lagging is mainly from the Web GUI since the actual SQL insertion mechanism is effectuated in the database but not refreshed in the PHPMyAdmin GUI. The latest database engine supported by PHPMyAdmin is MariaDB which suffered the same performance lagging issue. Customer support wasn't successful in figuring out the source of this bug. This is mainly experienced on Windows installations. MySQL is not open source anymore which makes MariaDB (the open source alternative) a much cost efficient choice.
MySQL is very fast and powerful for small and medium projects
Comments: I have had many benefits of Mysql, my first mysql for professional use, I have installed many systems using Mysql from content managers to web applications made to measure, I have grown with mysql for many years using it both to work in companies and for particular jobs for companies. clients I have won the congratulations of my bosses as well as promotions and congratulations from my client for certain jobs
Pros:
Mysql has been my favorite database since I started programming, it's easy to install, it's simple to find an application that connects to the database and do the administration in graphical mode, many content managers and e-commerce stores use mysql by default and has helped me carry out several projects, I like that most hosting providers have MySQL support at no additional cost. It is free this is important to reduce the costs in the projects. Mysql is certainly fast and light, the installation requirements are minimal and with few resources, I have used it in Windows and Linux without any problem in both, but the host operating system has never been a limitation and I use it in a Linux environment every time it's possible. Something I like a lot is the documentation that there is of all kinds, which helps the administration and the development of new applications.
Cons:
I think that mysql needs to improve in terms of the variety of data types in other databases. I find more complex types of data that are sometimes necessary, another point that should be improved is the power of the procedures that I consider limited compared to those of others. Other brands. Since Oracle bought mysql, the community is not sure about the future of this software, so it has created mistrust in me and I do not like this.
Mysql DB with ERPs and PHPs programs
Comments:
Overall found perfect for large data, large industry data of erps, IOT devices and other complex features like sms/email applications.
Queries,data handeling,data backups,table analyse,database comoaction and optimization are awesome valued aded features.
Pros:
Effective to handel large data recording and reporting with in good time,while data is being entred and acessed from many users. Live from PC GuIwhereas also available phpmyadmin to acess on web and work with php accordingly, although it can be integrared with many languages programs like Java,Ajax,ASP but most of the time it being used with PHP. Work with existing filed like calculation/triggers best thing which is used BI,AI. Query reporting/response time from such large data is awesome. Query for access data almost every feature is available to get curtain form of data. UI and use is very easier.
Cons:
Not generic calculation formula like excel, such additional feature should be introduced. Value based trigger should be introuduced with support of scripts, i.e if value of column (field) reaches,equals to specific value this then run this scripts ir query and put specific value on this filed etc , its currently un upavailable. Advanced statiatics are not get reported by data, like hypothesis, regerssions. No built in tool in excel.