ACID attributes are the most valuable feature, as data reliability is a top concern.
DevOps SRE at a tech services company with 51-200 employees
ACID attributes are the most valuable feature. It does not understand the clustered model.
What is most valuable?
How has it helped my organization?
The backend of the production traffic happens at this level.
What needs improvement?
The dynamic scalability, clustering, dynamic replicas safeguard against failures, ease of setup and use all need to be improved.
- MySQL was originally meant for a single server; now with the 5.7 version, they have introduced the multi-master model but it is on the user to ensure that there is no conflict of data. Also, to add/remove a server from the cluster requires downtime and MySQL won't scale load on its own as it has scaled up/down (the load distribution has to be done on a separate layer).
- MySQL does not understand the clustered model, it is not aware of others in the cluster and won't act as a player in the cluster.
- Data corruption or two different updates to the same record are not sorted in the replicas and needs manual intervention.
- The cluster setup is complex and so is its maintenance.
- It is not equipped to take advantage of the Cloud (AWS, Azure etc) and their pricing models (go as you use).
For how long have I used the solution?
I have used this solution for two years.
Buyer's Guide
MySQL
October 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
814,649 professionals have used our research since 2012.
What do I think about the stability of the solution?
We have seen the corruption of data in replication when used with filters and also, with the growing data response time dwindles.
What do I think about the scalability of the solution?
A lot of manual effort is needed to scale the solution; a lot of room for improvement is there.
How was the initial setup?
The setup was of mid-level complexity.
What's my experience with pricing, setup cost, and licensing?
It is a GPL license, only the support is priced but as there is a good community so buying support is optional.
Which other solutions did I evaluate?
I wasn't involved as this predates me at the organization, but today if this re-happens MySQL won't be the best choice.
What other advice do I have?
Do your research and make sure for your use case that MySQL is the best choice, before making any commitments.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Project Manager at a computer software company with 1,001-5,000 employees
An easy to install and stable solution, but could be more secure
Pros and Cons
- "The solution is very stable."
- "The solution could be more secure."
What is our primary use case?
I do not recall which version I am using.
Although we do not use it for the main core system, the solution acts as a database which is useful for login applications, data warehousing.
What is most valuable?
The solution is so stable. I have encountered no problems.
What needs improvement?
The solution could be more secure.
For how long have I used the solution?
I have been using MySQL for a year.
What do I think about the stability of the solution?
The solution is very stable.
What do I think about the scalability of the solution?
The solution is not scalable at present.
How are customer service and technical support?
I do not have experience with technical support.
Which solution did I use previously and why did I switch?
Previously, we used Microsoft database.
How was the initial setup?
The solution is easy to install.
I cannot state how long implementation took.
What's my experience with pricing, setup cost, and licensing?
The solution does not come with a licensing fee.
What other advice do I have?
I do not know the number of users who are using the solution in my organization.
I would absolutely recommend this solution to others.
I rate MySQL as a seven out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
MySQL
October 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
814,649 professionals have used our research since 2012.
SVP Technology and Head of India at a financial services firm with 201-500 employees
A stable and effective data store, but technical support should be available worldwide
Pros and Cons
- "We use it as a data store and from that perspective, we get everything we need."
- "The technical support should be more knowledgeable and available worldwide."
What is our primary use case?
We are an asset management product company. Our product is deployed on the cloud and the backend database for it is MySQL.
What needs improvement?
The technical support should be more knowledgeable and available worldwide.
For how long have I used the solution?
We have been using MySQL for the past five to six years.
What do I think about the stability of the solution?
So far, it has been pretty stable and I haven't had any problems. We plan to continue using it in the future.
What do I think about the scalability of the solution?
MySQL is very scalable, so I don't expect any challenges.
How are customer service and technical support?
We have a contract with a third-party for support. So far, it has been working fine for us and I don't see any challenges. That said, having worldwide support is something that would be an improvement.
Which solution did I use previously and why did I switch?
Prior to MySQL, we did not use another database for this purpose. We built our core product directly on top of MySQL.
How was the initial setup?
The initial setup seemed pretty decent, so I don't see any challenge in that regard.
What about the implementation team?
Our in-house DBA team installed it. We have one DBA and one junior.
What other advice do I have?
This is a good product and I recommend it to others.
We use it as a data store and from that perspective, we get everything we need. We don't have any complaints about features such as analytics, reports, or dashboards.
I would rate this solution a six out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
CEO at a computer software company with 11-50 employees
Offers valuable security features and has good connectors and backup features
Pros and Cons
- "Apart from the features that are in the enterprise part, we find the database to be valuable. The connectors and the backup features are valuable as well. We use the basic database. We don't really use the extra features. Our clients like the security features in the database."
- "Oracle should start putting in some of the enterprise features in the standard feature. There are some key features that should be part of the standard."
What is our primary use case?
The main reason that customers pick MySQL is that it's cost-efficient.
What is most valuable?
Apart from the features that are in the enterprise part, we find the database to be
valuable. The connectors and the backup features are valuable as well. We use the
basic database. We don't really use the extra features. Our clients like the security
features in the database.
What needs improvement?
We would like to see more security.
For how long have I used the solution?
I have been using MySQL for three years.
What do I think about the stability of the solution?
My customers haven't mentioned having any problems with stability.
What do I think about the scalability of the solution?
Scalability is good enough.
How are customer service and technical support?
I haven't contacted Oracle in regards to MySQL but I have contacted Oracle support for other things. They're okay but from my end, the problem is that they're not proactive. From one to five, I would rate them a four.
There's a lot of documentation on the Oracle support portal even though you must be contracted customer. There is also a lot of support information on the community portals and google search in general. This is the reason we picked MySQL from the rest.
How was the initial setup?
The initial setup isn't so complex. You have to get a lot of support from the
community. From my end, it's not so complex. You should consult with the
community.
What other advice do I have?
My experience has been open-source. Oracle should start putting in some of the enterprise features in the standard version. There are some key features that should be part of the standard. Things like replication should be part of the standard version as opposed to it being in the enterprise version.
I would rate them an eight out of ten.Which deployment model are you using for this solution?
On-premises
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
ERP System Analyst at a tech services company with 501-1,000 employees
MySQL? Sure, but what is the best config and how to optimize for best performance?
We could write books about MySQL and every book could have a different focus: setup, optimization, backup, etc.
So, this review will be about sharing some of the experiences that I have had.
So, MySQL is probably the most used RDBMS for web applications.
The server is really easy to install, literally a straightforward installation.
It is very fast and stable and at the same time not resource hungry compared to some other RDBMS products.
For smaller projects, you will not even need to do any "after install" tweaks or configurations, just install and you are ready to go.
Nevertheless, for some more demanding projects, you will need to investigate and optimize your setup to fit the requirements.
What is the best configuration for a MySQL server?
There is no single best configuration. There are many of them, depending what is MySQL used for. E.g., it is not the same as having it installed in a shared hosting environment or as a dedicated instance to just one application. Having 1000 of users using a few hundred different databases or having 20 users using one database.
Is it gonna be an OLTP or OLAP, do you focus more on writing or reading? I will not dive into this, as there are many other articles covering this in a much better way than this article.
But, starting by selecting the adequate storage engine MyISAM or InnoDB, defining the maximal number of connections, all the buffer and caching settings, limit on open files, table caching, etc. is always a good approach.
You will need to sit down and write down all the requirements known to you and then aligned to those, start configuring your server.
A very handy tool to investigate your server's setup and performance is the MySQLTuner.pl script. It can be used as a starting point to investigate your server setup and increase performance.
Sometimes, although your server is configured properly, you might experience a slow performance, especially on a shared hosting server. During my career as a system administrator in a hosting company, we have monitored our MySQL servers and tracked the performance. Often, in such an environment, it might happen that you have a "running away" query, eating up your resources or causing performance issues. In such a case, database optimization is required, rather than server a config. A good example for this is having a well-visited web application with many concurrent users. Often on such an application, there are queries which run more frequently than others.E.g. presenting top 25 products in a web shop by using a query similar to this:
SELECT p.name, c.name
FROM product p
LEFT JOIN category c ON ( c.id = p.category_id )
WHERE p.new_product='1'
GROUP BY c.name, p.name
ORDER BY p.name ASC
LIMIT 25 ;
Such queries will run very fast if the database itself is optimized. But otherwise, they can run really slow and cause high CPU utilization or in worse case a bottleneck and slow down the whole server. You don't need to have millions of records, this can happen even if you have only a few hundreds/thousand records in your database. In such case, you need to identify these "slow queries" (you can log slow queries) and then investigate the database they are referencing. Often it's about missing indexes on columns involved in GROUP BY, ORDER BY or WHERE clause.
Backup? Of course, you already have the backup in place and it's running, at the end we are talking about the database. There is always a backup policy when a database is involved. Many use MySqlBackup command to schedule a "hot backup" of a server. Although it works in 99% of cases, please consider having a mysqldump running in parallel. Why? It might happen that you have a corrupted InnoDB tables and you are backing them up. By the first server reboot, it might lead that you lose data.
When databases are involved, it is always good to have the data backed up in a flat structure if possible, if we are not talking about huge databases and the dump would consume too much time. This gives you the ability to import the data in a new instance, if you face any scenario where you have issues with corrupted storage engine and cannot recover from that.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Software Architect at a tech consulting company with 51-200 employees
Offers a simple DBMS solution with a very low hardware footprint. Only one of the engines supports ACID transaction control.
What is our primary use case?
Primary DBMS solution for web apps developed on either ASP.NET MVC or Zend / PHP for customers.
The community version of MySQL only offers simple backup and restore tools, but it is OK for many web dev projects for customers that want a low budget solution.
How has it helped my organization?
We do software development for our customers on both Windows and Linux. Since these tools are available for both Windows and Linux, we can leverage the knowledge of these tools for development on both platforms.
What is most valuable?
We design web solutions for customers with PHP (Linux) and ASP.NET MVC (Windows). MySQL offers a simple, no frills, but effective DBMS solution with a very low hardware footprint. Since it has no licensing fees, it offers great TCO for our customers.
What needs improvement?
Only one of the engines, InnoDB, supports ACID transaction control. The best performance engine, MyISAM, has no transactional control support.
It would make a lot of sense to include one engine that offers both very good overall performance and transactional control support.
All versions of MySQL, including the Community Server version include in its design as a Pluggable Storage Engine Architecture.
This architecture allows for the support of multiple options of Storage Engines, so, a software architect can design a sofware solution with MySQL based on a specific Storage Engine that is capable to cater to a particular type of storage use case requirements, like for instance, web applications with heavy read workloads and moderate write workloads, or intranet desktop applications with heavy write workloads.
Depending on the version of Community Server installed is the list of available Storage Engines: All it takes is the execution of the command SHOW ENGINES to retrieve the list of installed Storage Engine plugins.
When you create any given table in MySQL, you have the option to select what Storage Engine (among the engines available) will be applied to said table. If this option is no explicitly mentioned at the end of the "CREATE TABLE" command, the current default storage engine will be assumed.
For web apps with intensive read workloads and moderate write workloads, the engine that offers a good overall performance is the MyISAM engine, but this does not support ACID transaction control, and it uses a table-level locking mechanism (thus, from a performance standpoint, this is not proper for apps with heavy write workloads).
The InnoDB engine uses a record-level locking mechanism, so, it is proper for apps with heavy write workloads. It also supports Isolation Levels, which is important for applications that have many clients doing read and write operations concurrently.
The other storage engines offer support for very specific use cases, like for instance, flat file tables (CSV engine) or memory-only tables (Memory engine).
Getting back to the InnoDB engine, it offers features that are similar to the database engine in SQL Server, and according to some of benchmarks that we have run, SQL Server Express provides overall better performance than MySQL Community Server with InnoDB tables.
My "Room for Improvement" comment is that it would be great if in the future Oracle were to provide with the Community Server edition a version of InnoDB with better overall performance, while still requiring a small hardware footprint.
For how long have I used the solution?
More than five years.
What do I think about the stability of the solution?
As with any good DBMS, MySQL requires periodic DBA maintenance. If you leave a MySQL database with no supervision of a DBA for enough time, files become too fragmented and they may turn corrupt beyond rescue.
What do I think about the scalability of the solution?
The version of the product with free licensing does not offer stellar scalability support. We only use these tools for solutions that do not require such a level of scalability.
How are customer service and technical support?
The version of the product with free licensing only offers community forum support. Because it is a very popular product, there are many free resources on the internet to search for solutions to most issues.
This kind of "free support" is OK, because we do not use these tools for mission critical solutions.
Which solution did I use previously and why did I switch?
For Windows development of non-critical solutions, we previously used SQL Server Express exclusively. However, now we use either SQL Server Express or MySQL, depending on the customer. We have not switched from SQL Server Express to MySQL.
How was the initial setup?
The admin tools offered by MySQL Workbench are very good. For an experienced DBA, it is rather easy to setup a (MySQL) server for development, testing, pre-production, or production environments.
What about the implementation team?
Implementation was done with in-house team.
What's my experience with pricing, setup cost, and licensing?
With no licensing fees, the business opportunity is great for both the customer and an ISV like my company. This is the case, as long as you use these tools for non-critical solutions.
Which other solutions did I evaluate?
We did evaluate other solutions, mainly PostGreSQL, which is also a very good product.
We run a benchmark comparison first, then we run a small lab with the development of a small solution with both toolsets (MySQL and PostGreSQL).
In this development comparison, we found that the winner is MySQL. MySQL toolset for development offers much more coverage for both PHP and C# development.
What other advice do I have?
Most small and medium enterprises require many non-critical solutions. They clearly they do not have large budgets for these kinds of solutions, so it makes a lot of sense to consider MySQL as a good option for this kind of development.
The advice is to make sure that it works for your company and for your customers.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Software Tester & SQA at a manufacturing company with 501-1,000 employees
The InnoDB database allows us to store and execute procedures and roll-backs.
What is most valuable?
I couldn't name just one most valuable feature. You can use it under different cases, but most of the time I needed the database as a part of my project. I think, in one moment you will prefer the InnoDB database, so you can store and execute procedures and roll-backs.
How has it helped my organization?
Again, I couldn't name an positive aspect precisely. Maybe, the fact that using MySQL and Java gives it a big portability and, at the same time, short time responses within your product (my case). This could come from the DB side. It also allows for easiness of finding interaction tools with MySQL.
What needs improvement?
None that I can name. At the moment I worked with MySQL, there was nothing I couldn't do with the product.
For how long have I used the solution?
I've been using it for four to five years.
What was my experience with deployment of the solution?
There were no issues with the deployment.
What do I think about the stability of the solution?
It's a pretty stable product for what I needed it to do.
What do I think about the scalability of the solution?
There have been no issues scaling it.
How are customer service and technical support?
Being a community product, you can find solutions all over the internet. It's not a specific support department.
Which solution did I use previously and why did I switch?
There was no solution in use previously.
How was the initial setup?
It was quite easy. The product comes with an installer. It can be complicated to configure the MySQL server, but with a little attention, all goes well.
What about the implementation team?
It was done in-house.
What's my experience with pricing, setup cost, and licensing?
It's free.
What other advice do I have?
It helped me within my projects. For a free product, it works very well and it's easy to use and configure.
Don't try the most sophisticated products, that have big names, and cost a ton. Just try this product if you need something cheap and reliable. I don't think it will disappoint, at least not in my case.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Infrastructure Expert at a tech services company with 1,001-5,000 employees
One of the best Databases on the market today.
Valuable Features:
MySQL is open source, highly extensible and scalable, and is available from a web interface via PHPMyAdmin, which is excellent because it's platform independent.In almost all instances that I have used MySQL, it has handled whatever I threw at it and hasn't failed me yet.
Room for Improvement:
It is a community driven project, which means that support is sometimes scarce and hard to find. Also, it really doesn't have an IDE per-se, like MSSQL does.
Other Advice:
I use MySQL on a regular basis, specifically whenever I am managing or installing a Wordpress instance. Combined with PHPMyAdmin, MySQL is an excellent database solution for small to medium sized businesses or installations. I would recommend using a better supported database like Oracle or MSSQL for mission critical tasks on an enterprise level, but MySQL is completely capable of performing the same tasks as those other databases.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Download our free MySQL Report and get advice and tips from experienced pros
sharing their opinions.
Updated: October 2024
Popular Comparisons
Tableau
SQL Server
Oracle Database
Teradata
MariaDB
SAP HANA
PostgreSQL
Firebird SQL
IBM Db2 Database
Vertica
Amazon Aurora
CockroachDB
LocalDB
Faiss
SingleStore
Buyer's Guide
Download our free MySQL Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- Which solution do you recommend for embedding reporting? Why?
- Did you switch from a different solution to MySQL? Can you list a few pros and cons for making the move?
- Why are MySQL connections encrypted and what is the biggest benefit of this?
- Considering that there is a free version of MySQL, would you invest in one of the paid editions?
- What is one thing you would improve with MySQL?
- How does MySQL compare with Firebird SQL?
- When evaluating Open Source Databases, what aspect do you think is the most important to look for?
- Did you switch from a different solution to MySQL? Can you list a few pros and cons for making the move?
- Which database is the best for session cashing?
- Which low-code (no-code) database solution do you prefer?
MySQL can be integrated with LAMP/WAMP, web applications and number of programming languages. It is widely used for phpadmin and wordpress now a days.