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

MySQL 5.7.17 compatibility (where group replication enabled by default) #11596

Closed
mattab opened this issue Apr 6, 2017 · 1 comment
Closed
Labels
c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc.

Comments

@mattab
Copy link
Member

mattab commented Apr 6, 2017

Reported by email:

When MySQL 5.7.17 is running in group replication (a feature introduced in MySQL 5.7.17), all tables are required to have a primary key. Installing Piwik 3.0.3 on MySQL 5.7.17 running in a group replication settings, the replication breaks the group because all of the Piwik tables do not contain a primary key. The solution is to add a primary key to the three Piwik tables that do not contain primary keys:

piwik_log_profiling
piwik_plugin_setting
piwik_site_setting

@mattab mattab added the c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. label Apr 6, 2017
@ghost
Copy link

ghost commented Apr 7, 2017

When MySQL 5.7.17 is running in group replication (a high-availability feature introduced in MySQL 5.7.17), all tables are required to have a primary key. Installing Piwik 3.0.3 on MySQL 5.7.17 running in a group replication breaks the group because all of the Piwik tables do not contain a primary key. The solution is to add a primary key to the three Piwik tables that do not contain primary keys:

  • piwik_log_profiling
  • piwik_plugin_setting
  • piwik_site_setting

Reference: https://dev.mysql.com/doc/refman/5.7/en/group-replication-requirements.html
"Primary Keys. Every table that is to be replicated by the group must have an explicit primary key defined. Primary keys play an extremely important role in determining which transactions conflict by identifying exactly which rows each transaction has modified."

@mattab mattab added this to the Priority Backlog (Help wanted) milestone May 8, 2017
@mattab mattab changed the title Compatibility of Piwik with MySQL 5.7.17 in group replication Compatibility of Piwik with MySQL 5.7.17 with group replication enabled by default Aug 28, 2018
@mattab mattab changed the title Compatibility of Piwik with MySQL 5.7.17 with group replication enabled by default MySQL 5.7.17 compatibility (where group replication enabled by default) Aug 28, 2018
@mattab mattab added the Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. label Aug 28, 2018
InfinityVoid pushed a commit to InfinityVoid/matomo that referenced this issue Oct 11, 2018
…tion and MySQL InnoDB Cluster (matomo-org#11885)

* Columns added to support mysql group replication (every table must have a primary key)

* changed integer to bigint as "there are issues at other places where INTEGER is simply too small."

* Update script created for 3.1.0 to Fix matomo-org#11596

* corrected php syntax and made the columns primary keys on add

* updated the db upgrade to reflect the inclusion in version 3.2 instead of 3.1

* changed tabs to spaces

* replaced tabs with spaces

* Use consistent column names

* Use consistent column names

* Will be in 3.2.1

* Change Update version + bump version.

* Version bump fail.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc.
Projects
None yet
Development

No branches or pull requests

1 participant