We are an asset management product company. Our product is deployed on the cloud and the backend database for it is MySQL.
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?
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.
Buyer's Guide
MySQL
November 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
817,457 professionals have used our research since 2012.
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 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
Buyer's Guide
MySQL
November 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
817,457 professionals have used our research since 2012.
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.
Partner at a tech services company with 51-200 employees
Has the ability to run on any operating system
What is our primary use case?
We utilize the DB as a data-repository solution for our front-end applications. The solution gives us the ability to run numerous instances on various geographical cloud servers.
How has it helped my organization?
Yes, MySQL has improved numerous processes; it has given us the ability to create applications without absorbing major costs.
What is most valuable?
- Its ease of use
- It's secure.
- It's fast.
- It has high-end processing.
- It can distribute across clouds.
- It has the ability to run on any operating system.
What needs improvement?
- I think a better front end would be a better solution (web application front end, similar to what Red Hat is doing to Fedora).
- Another nice solution for MySQL clustering would be the use of Webmin.
- Also, security measures could always be improved, and the clustering process could be enhanced as well. I recommend using UFW, iptables, and firewalld.
What do I think about the stability of the solution?
The solution works extremely well. It is easy to install and works on any platform. The price is good because we utilize various versions of the software/DB.
What do I think about the scalability of the solution?
If the user sets up DB up using MySQL Cluster (creates a grid type of design), then we find the solution from a hardware perspective using NVMe, NVMe-oF, 10GE network connections, and 32-100GB of DDR4 memory (dependent upon customer requirements).
Scalability can be initiated using high-speed connections across IPv6 connections (IPSec AES-256 ESP/AH VPN connections without purchasing VPN concentrators — this can be done at the network layer).
Which solution did I use previously and why did I switch?
We use various versions, but most of the time this is based on the client's requirements.
How was the initial setup?
After the initial training, the installation worked pretty well. I would suggest setting it up in a lab. This gives the user room to test the installation and configuration process. It is recommended to use PhpMySQLadmin — (https://www.phpmyadmin.net) — after the installation process is completed.
What about the implementation team?
It was implemented in-house. Most of the applications are tested in our cloud and on-premise servers.
What was our ROI?
60% ROI (There are DLs — direct labor costs and overhead costs, but once it is set up, we image the configuration and deploy our designs in docker).
What's my experience with pricing, setup cost, and licensing?
I would suggest testing MariaDB before jumping in. This will give the user the ability to test the DB before using it. It is very easy to set up. MariaDB is free, and licensing is based on GNU.
Which other solutions did I evaluate?
N/A.
What other advice do I have?
I would suggest running tests against MySQL, MariaDB, Oracle, PostgreSQL, and MS SQL to determine which one best suits your needs (cost, development, and integration should all play in your decision-making process).
Disclosure: I am a real user, and this review is based on my own experience and opinions.
QA Lead at a logistics company with 1,001-5,000 employees
Allows us to share virtually created database instances
Pros and Cons
- "I feel that some tools which make it easier to create queries or make it easier for other functions would be really interesting to see."
What is our primary use case?
I'm a tester, an optimization tester. It's basically when the developers have the back-end in SQL. We go and test it out for them and check that the table updated correctly, and we do something on the front-end.
How has it helped my organization?
To give you an example, initially we didn't have a database server as such, and we had to make use of some database. Now we use something where we can share the instances of the database which were created virtually, which is a very good feature, which I felt has improved our organization.
What is most valuable?
The most important features would be querying, the query language where you have the data definition or data modification language, as well. In some cases, we have to create our own tables for testing purposes. In that case, having SQL Server is much easier compared to what's available.
What needs improvement?
I feel that some tools which make it easier to create queries or make it easier for other functions would be really interesting to see.
For how long have I used the solution?
More than five years.
What do I think about the stability of the solution?
Pretty much since we have our own in-house SQL branch, the administrators are there, so they take care of the stability with the product. As far as I've seen, there really hasn't been much of an issue with stability.
What do I think about the scalability of the solution?
It's pretty scalable.
How are customer service and technical support?
I haven't contacted them, so I have no experience with them. We generally have an internal team which would work on it. So our point of contact is an internal team, rather than going to MySQL.
Which solution did I use previously and why did I switch?
I've used a lot of different solutions. MySQL is one of the top among them. Usability and scalability are some of the reasons we went with MySQL.
How was the initial setup?
It was pretty straightforward. No hassles with the setup.
Usually the setup is done by the IT admin guys, but it was pretty straightforward. The IT admin guys had to come in and give us the rights to install it.
What's my experience with pricing, setup cost, and licensing?
I'm not sure about pricing, I don't deal with the pricing. It's an organization decision.
Which other solutions did I evaluate?
There were many options.
What other advice do I have?
No one tool fits the bill for every company. Do a feasibility study, and get to know what is can do before going in and developing.
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: November 2024
Popular Comparisons
MariaDB
PostgreSQL
Firebird SQL
Faiss
EDB Postgres Advanced Server
OpenSearch
SQLite
Percona Server
YugabyteDB
Oracle MySQL Cloud Service
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.