Dear users, please find below the essential guide for MySQL setup.
MySQL DBs
Please download the MySQL community server here: http://dev.mysql.com/downloads/mysql/
You will want the 32bit installer it contains both the 32 and 64bit versions.
You will also need to download the C connectors here: https://downloads.mysql.com/archives/c-c/
You will need both the 32bit and 64bit zips. There is a version of libymsql.dll in each archive.
You can download the libraries at the bottom of this article.
The 32bit dll will need to be placed in the /windows/syswow64 folder.
The 64bit dll will need to be placed in the /Windows/System32 folder.
From the Admin console please go to File>API console and filter on mysqldefaultcharset and set the value to utf8mb4.
The following queries can be used to create the databases in the MySQL console.
create database icewarp_accounts DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
create database icewarp_antispam DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
create database icewarp_groupware DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
create database icewarp_dircache DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
create database icewarp_activesync DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
create database icewarp_webcache DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
If you run into an issue during the test connection to MySQL DB, stating 'caching_sha2_password' cannot be loaded, use the following link here to fix it.
Comments
1 comment
I installed a new Ubuntu MySQL 5.7 server.
I created the databases like above and let icewarp create the TABLES.
I noticed Icewarp used capital letters in the table names.
After switching to the new mysql I noticed that queries used lowercase tablenames and subsequently I got SQL errrors like this:
GW Error executing query: Table 'icewarp_groupware.event' doesn't exist SELECT EVN_ID, Evn_MetaData, EvnNote FROM event WHERE (EvnGRP_ID = '4c30b53607ad') AND (EvnFolder = 'Documents') AND (EvnLinkID = '508f9f291d88')
I investigated and Table was "Event" not "event"... and ofcourse that doesnt work.
From MySQL 5.7 Manual:
You have two options:
Use
lower_case_table_names=1
on all systems. The main disadvantage with this is that when you useSHOW TABLES
orSHOW DATABASES
, you do not see the names in their original lettercase.Use
lower_case_table_names=0
on Unix andlower_case_table_names=2
on Windows. This preserves the lettercase of database and table names. The disadvantage of this is that you must ensure that your statements always refer to your database and table names with the correct lettercase on Windows. If you transfer your statements to Unix, where lettercase is significant, they do not work if the lettercase is incorrect.Exception: If you are using
InnoDB
tables and you are trying to avoid these data transfer problems, you should setlower_case_table_names
to 1 on all platforms to force names to be converted to lowercase.So I proceded to make my MySQL server case insensitive using: lower_case_table_names=1
Then I dropped all tables and let Icewarp recreate all TABLES.
I checked that all were lowercase in MySQL and on harddisk.
After all that no more Table doesn't exist errrors...
Please sign in to leave a comment.