Actions

Setting up Mysql 8

From Convention Master Documentation

Setting up in Mysql 8

The tasks I had to do to set up CM for mysql 8 were as follows.

  1. Before the system is even attempted to be installed, log into mysql as the root user sudo mysql and then run the query SET GLOBAL log_bin_trust_function_creators = 1;
  1. Edit /etc/mysql/mysql.conf.d/mysqld.cnf and add sql-mode="NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" to the end of the file. Then Restart Mysql server

Database Flags =

There are three SQL modes that are currently not functional with CM. These modes are found in database_check.inc.php on line 235 and are as follows:

  • $disallowedSQLModes['NO_ZERO_DATE'] = "This prevents Convention Master from being able to store 0000-00-00 for customers who don't want or need to collect birthday. For legacy support storing dates as 0000-00-00 is required.";
  • $disallowedSQLModes['ONLY_FULL_GROUP_BY'] = "This creates problems with complex queries within Convention Master"; // Requires full reationships for group by
  • $disallowedSQLModes['STRICT_TRANS_TABLES'] = "This created problems when doing transactions for within Convention Master"; // Can't do all of the above inside transactions.