Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is MySQL 5.6 mandatory? or will it work on 5.5? #1244

Closed
seansan opened this issue May 7, 2015 · 10 comments
Closed

Is MySQL 5.6 mandatory? or will it work on 5.5? #1244

seansan opened this issue May 7, 2015 · 10 comments

Comments

@seansan
Copy link

seansan commented May 7, 2015

Is MySQL 5.6 mandatory? or will it work on 5.5?

If yes, how can we skip the MySQL 5.6 check?

I am asking because many servers run / are based on Direct Admin which is still at 5.5 (unless manually upgraded via custombuild).

And I can imagine some users want to install DEV versions to test, thing with you guys and improve

@kandy
Copy link
Contributor

kandy commented May 7, 2015

Yes, MySQL 5.6 is mandatory.

@HirokazuNishi
Copy link
Contributor

Good to hear.

I hope M2 responds to MySQL utf8mb4 issue.
https://bugs.mysql.com/bug.php?id=76553

@choukalos
Copy link

Adding @tanya-soroka to the thread for her thoughts as the mysql bug is effectively an i18n issue.

@aadmathijssen
Copy link

It does not seem to be possible to run Magento 2 on MySQL 5.5.

I tried it out by changing the constant the MYSQL_VERSION_REQUIRED. This gave the following error on install:

SQLSTATE[HY000]: General error: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

It turns out that Magento 2 uses automatic initialization and updates for multiple TIMESTAMP columns (created_at and updated_at) for a number of tables (currently customer_entity, customer_address_entity, downloadable_link_purchased, downloadable_link_purchased_item, eav_entity, integration, quote, quote_address, quote_item, quote_address_item, quote_payment, quote_shipping_rate, sales_order, and sales_order_item). This is supported since MySQL 5.6.5. Earlier versions only supported automatic initialization and updates of at most one TIMESTAMP column per table. See the MySQL 5.6 manual for more information.

@orlangur
Copy link
Contributor

If yes, how can we skip the MySQL 5.6 check?

It was discussed in #782, #787 and #977 already. At that time it was enough to change one table definition to get it workable under MySQL 5.5.

So, changing table definition + @aadmathijssen suggestion could be enough.

@choukalos
Copy link

If you change the table definition to use MySQL 5.5, please note that full text search will behave differently and have a different performance characteristic. We've tuned our MySQL full text search implementation for MySQL 5.6

@maderlock
Copy link

When developing with both Magento <1.8 and Magento 2 on the same system with a single database, this suggests that it might be easier to make the hack to allow Magento 1.7 and earlier to work with MySQL 5.6 rather than hacking Magento 2 to work with MySQL 5.5. Is that fair?

@alankent
Copy link

alankent commented Jul 1, 2015

That sounds logical given MySQL 5.6 is probably backwards compatible. So Magento 1.X will probably "just work", but I have not tried it.

@hostep
Copy link
Contributor

hostep commented Jul 5, 2015

I can confirm Magento 1.7 through 1.9 (and probably lower versions too) works on Mysql 5.6. We have been running it for a couple of months now since we updated our development environment to get ready for Magento 2 development.
(We actually use MariaDB 10.0, but that's almost the same as Mysql 5.6.)

@maksek
Copy link
Contributor

maksek commented Jul 22, 2015

Summary - Magento 2 requires MySQL 5.6.
Magento 1 may work on MySQL 5.6.
Assuming the question is closed.

@maksek maksek closed this as completed Jul 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests