Cacti / plugin_syslog

Syslog Plugin for Cacti
GNU General Public License v2.0
21 stars 16 forks source link

Illegal mix of collations #105

Closed sraghavarao closed 4 years ago

sraghavarao commented 4 years ago

After installion of the plugin in Cacti version 1.2.8 i get the following error in logs. CMDPHP ERROR: A DB Row Failed!, Error: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='

CMDPHP SQL Backtrace: (/plugins/syslog/syslog.php[101]:syslog_messages(), /plugins/syslog/syslog.php[1534]:syslog_filter(), /plugins/syslog/syslog.php[1327]:syslog_db_fetch_assoc(), /plugins/syslog/database.php[106]:db_fetch_assoc(), /lib/database.php[452]:db_fetch_assoc_prepared(), /lib/database.php[466]:db_execute_prepared())

The current collation-server for mariadb 10.1.43 is utf8mb4_general_ci i tried changing the collation server for cacti to utf8mb4_unicode_ci also but the result is same tried changing all the syslog tables in cacti database to character set to utf8mbf4 and collation server to utf8mb4_general_ci but the error in logs remained the same.

netniV commented 4 years ago

All cacti tables should be Unicode not general to properly be able to store any character. This is why the installer always recommends the upgrade. I would check all your tables in both syslog and cacti db

sraghavarao commented 4 years ago

syslog tables are in cacti database only . so i changed the database with below command

ALTER DATABASE cacti CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_unicode_ci';

also added 'collation-server = utf8mb4_unicode_ci ' in /etc/mysql/mariadb.conf.d/50-server.cnf and restarted the mariadb server. but cacti logs report the same error as before.

sraghavarao commented 4 years ago

Started the installation with mysql-server and myql-client in place of mariadb and there is no problem of COLLATION server .