CEO at a computer software company with 11-50 employees
Real User
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. 

Buyer's Guide
MySQL
April 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: April 2024.
770,394 professionals have used our research since 2012.

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 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
PeerSpot user
PeerSpot user
ERP System Analyst at a tech services company with 501-1,000 employees
Real User
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.
PeerSpot user
Buyer's Guide
MySQL
April 2024
Learn what your peers think about MySQL. Get advice and tips from experienced pros sharing their opinions. Updated: April 2024.
770,394 professionals have used our research since 2012.
PeerSpot user
Software Architect at a tech consulting company with 51-200 employees
Real User
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.
PeerSpot user
PeerSpot user
Software Tester & SQA at a manufacturing company with 501-1,000 employees
Vendor
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.
PeerSpot user
PeerSpot user
Infrastructure Expert at a tech services company with 1,001-5,000 employees
Consultant
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.
PeerSpot user
it_user2652 - PeerSpot reviewer
it_user2652Project Manager at a non-tech company with 10,001+ employees
PopularVendor

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.

See all 4 comments
Information Systems Computer System Controller at a insurance company with 11-50 employees
Real User
Top 20
Small application for easy deployment but has Java compatibility issues
Pros and Cons
  • "The solution is a small application and is very easy to deploy."
  • "There are some issues with compatibility with Java environments that need to be improved. When Oracle bought this solution there were some driver changes that caused some issues with operations."

What is our primary use case?

I have used the solution for a database tied to application development.

What needs improvement?

There are some issues with compatibility with Java environments that need to be improved. When Oracle bought this solution there were some driver changes that caused some issues with operations.

For how long have I used the solution?

I have been using the solution for approximately eight years.

What do I think about the scalability of the solution?

There are approximately 300 users using the solution in my organization. 

How was the initial setup?

The solution is a small application and is very easy to deploy.

What's my experience with pricing, setup cost, and licensing?

There is a license for this solution. A lot of the time the solution gets bundled with other hardware or software purchases.

What other advice do I have?

I have plans to continue using the solution in the future.

I rate MySQL 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.
PeerSpot user
Full Stack Developer at a tech services company with 10,001+ employees
Real User
Open-source, easy to use, and simple to implement
Pros and Cons
  • "It is easy to use. It is simple to implement, which makes it suitable for our projects because we have deadlines. MySQL is also open-source, which is another plus point."
  • "Its performance should be better. When we use big data, it is slow in performance. We should be able to use mirroring for improved performance."

What is our primary use case?

I'm currently using MySQL for the contact center database, and it is in the cloud. I have also used it in other projects for database and CRM, and it was on-premises. I have used it in 20 projects.

What is most valuable?

It is easy to use. It is simple to implement, which makes it suitable for our projects because we have deadlines. MySQL is also open-source, which is another plus point.

What needs improvement?

Its performance should be better. When we use big data, it is slow in performance. We should be able to use mirroring for improved performance.

For how long have I used the solution?

I have been using MySQL for nine years.

What do I think about the scalability of the solution?

It is very flexible. It could be because I'm familiar with MySQL.

How are customer service and technical support?

I have never contacted the technical support of MySQL. If I have a problem, I find the solution from Stack Overflow.

How was the initial setup?

Its initial setup is easy. I only need a maximum of one hour for the installation of MySQL.

What's my experience with pricing, setup cost, and licensing?

It is open-source.

What other advice do I have?

I would rate MySQL a nine out of ten.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Partner at a tech services company with 51-200 employees
Reseller
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.
PeerSpot user
Buyer's Guide
Download our free MySQL Report and get advice and tips from experienced pros sharing their opinions.
Updated: April 2024
Buyer's Guide
Download our free MySQL Report and get advice and tips from experienced pros sharing their opinions.