Moví nuestra instalación de Matomo a DigitalOcean Managed Database Cluster MySQL 8. Desde que la moví allí, algunas métricas no son accesibles y veo el siguiente error:
Error de ejecución de la declaración de Mysqli: no se puede crear o cambiar una tabla sin una clave principal, cuando se establece la variable del sistema 'sql_require_primary_key'. Agregue una clave principal a la tabla o desactive esta variable para evitar este mensaje. Tenga en cuenta que las tablas sin una clave principal pueden causar problemas de rendimiento en la replicación basada en filas, así que consulte a su DBA antes de cambiar esta configuración.
Y puedo ver este error en los registros del clúster:
[Servidor] Intento de crear o modificar una tabla sin clave principal: xyz_matomo.matomo_logtmpsegmentceXXXXXXXXXXXXXXXXXXXX
Creo que no puedo cambiar sql_require_primary_key porque la base de datos está administrada y no tengo acceso a la configuración.
Pero, ¿cómo se puede solucionar este problema en otro lugar o Matomo generalmente no es compatible con el clúster de base de datos administrado de DigitalOcean (MySQL 8)?
También encontré esto en la lista de problemas conocidos:
Las bases de datos MySQL que contienen tablas sin una clave principal y que contienen más de 5000 filas pueden experimentar problemas de replicación. Para evitar esto, DigitalOcean ahora requiere que agregue una clave principal para cada nueva tabla que cree en cualquier base de datos MySQL administrada creada después del 8 de abril de 2020. Le recomendamos enfáticamente que también [agregue claves principales][/docs/databases/mysql/how -to/create-primary-keys/] en bases de datos existentes para evitar problemas de replicación.