Is the community MySQL safe for production use?

Or Will I need to get the enterprise version?

This is because I found this on MySQL's site:

If you are running a MySQL production level system, we would like to direct your attention to the product description of MySQL Enterprise Edition at:

http://mysql.com/products/enterprise/

When I check the features, it seems like the community edition does not support transactions, while the enterprise version does.

If it is true that the community edition is not right for production, then it seems like posgresql may be my way out, for it supports transactions and it is fully opensource.

Will the sql syntax need to change (much) if I have to change?


Solution 1:

Yes. The community edition is by far the most widely deployed version of MySQL in production environments. You can thank Oracle's acquisition of Sun for the confusion.

Transactions are indeed supported in the InnoDB storage engine, which is included in MySQL community edition.

The enterprise edition comes with a support contract, as well as a few extra bells and whistles: MySQL Enterprise Monitor, MySQL Enterprise Backup, and MySQL Workbench. It should be noted that these tools are actually very good, and do add some justification for the price instead of it being just a support contract.

If you want open source alternatives to MySQL Enterprise Backup I suggest Percona Xtrabackup. I'm not aware of any good alternatives to their Monitor product though.

Another thing worth considering is using the drop-in replacement for MySQL named Percona Server with XtraDB. It too is free and based off of the MySQL code. They have applied several (widely used) patches to improve MySQL performance on modern hardware (multi-core in particular) as well as improvements for things like replication, monitoring, and reliability.

Solution 2:

In MySQL, transactions are a feature of the storage engine; InnoDB supports transactions by MyISAM does not. If the community edition supports InnoDB (which I think it does), then it supports transactions. I think the four additional apps that are listed on the linked-to page are the biggest benefits, plus whatever support you get.

Depending on the platform you are deploying on, your OS vendor might include a supported version, which I would suggest sticking with unless you have a good reason not to. But if your OS doesn't include it, then Enterprise is the way to get paid support.

Solution 3:

The short answer: Yes it is safe for production use and nearly everyone uses the community version.

Transactions

Depends entirely on your storage engine. If you use Innodb, which is supported in all Mysql versions, you have access to transactions. Myisam, the original Mysql storage engine, does not support transactions.

Enterprise vs Community

The Enterprise version moves slower, releases more often, and has less features than the Community version. Also you have to pay for Enterprise which puts a number of people off. Read more here for the differences.