MySQL 8 cluster and hmailserver 5.6.7

Use this forum if you have installed hMailServer and want to ask a question related to a production release of hMailServer. Before posting, please read the troubleshooting guide. A large part of all reported issues are already described in detail here.
Post Reply
tolberjj
New user
New user
Posts: 12
Joined: 2019-10-15 20:09

MySQL 8 cluster and hmailserver 5.6.7

Post by tolberjj » 2019-10-15 20:21

I have a few older hmailserver installations against older MySQL 5.6 installations on Windows 2008 R2 and they have worked flawlessly for several years. I am moving hmailserver to a new server (Server 2016 standard) with a new MySQL 8 InnoDB cluster and running into issues. This is for outgoing mail handling only.

Hurdles crossed successfully:
1. I picked up an older version of libmysql.dll from previous installations and it's working (mostly).
2. I created a new admin account on MySQL with "Standard" authentication type and gave it full access to % (temporarily)
3. In installation using account in step 2, I am going through MySQL router via port 6446.

The issue:
4. I have selected create NEW database, and schema itself creates successfully, with tables, but fails with

Starting task...
Please wait while creating database...
MySQL: The table does not comply with the requirements by an external plugin. (Additional info: insert into hm_dbversion values (5601);)

hm_dbversion table is there, but empty, which makes sense from the message.

Any hints on how to proceed? Thanks in advance.

tolberjj
New user
New user
Posts: 12
Joined: 2019-10-15 20:09

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by tolberjj » 2019-10-15 21:09

I figured it out. The innodb cluster requires a primary key which that table did not have.

I modified C:\Program Files (x86)\hMailServer\DBScripts\CreateTablesMYSQL.sql via the following:

Line 193
create table hm_dbversion
(
dbversionid int auto_increment not null, primary key(`dbversionid`), unique(`dbversionid`),
value int not null
) DEFAULT CHARSET=utf8;



Line 772:
insert into hm_dbversion (value) values (1506);


Installation completed successfully. I'm not sure if it will work, but progress has been made.

tolberjj
New user
New user
Posts: 12
Joined: 2019-10-15 20:09

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by tolberjj » 2019-10-15 21:50

Never mind. When running hmailserver after installation I receive:
"Your database is not up to date and needs to be upgraded. Please run DBUpdater.exe to update the database. Current database version 1506, required database version 5601."

Back to the drawing board.

User avatar
mattg
Moderator
Moderator
Posts: 20244
Joined: 2007-06-14 05:12
Location: 'The Outback' Australia

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by mattg » 2019-10-15 23:48

Read this thread >> viewtopic.php?f=10&t=34219

The new 64 bit hmailserver ALPHA may work better for you
Some of us USE this ALPHA in production
Just 'cause I link to a page and say little else doesn't mean I am not being nice.
https://www.hmailserver.com/documentation

tolberjj
New user
New user
Posts: 12
Joined: 2019-10-15 20:09

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by tolberjj » 2019-10-16 01:47

Thanks mattg. I'm up for it, but get the same error on that version as well.

MySQL: The table does not comply with the requirements by an external plugin. (Additional info: insert into hm_dbversion values (5700);)

I'll poke around a little on the dbscripts and see if the same change as before works on this.

User avatar
mattg
Moderator
Moderator
Posts: 20244
Joined: 2007-06-14 05:12
Location: 'The Outback' Australia

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by mattg » 2019-10-16 01:54

try that sql statement without the auto increment
Just 'cause I link to a page and say little else doesn't mean I am not being nice.
https://www.hmailserver.com/documentation

tolberjj
New user
New user
Posts: 12
Joined: 2019-10-15 20:09

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by tolberjj » 2019-10-16 02:22

Same sql for 5.7 worked great at least for install, and interface launch so that's good news.

For 5.6.7, the table would create, and the initial insert of value 1506 worked as well. The dbupgrade.exe process ended without error, but didn't increment the version so interface wouldn't launch. I may be able to trace it back, but for now I'm going to move forward with 5.7 since I'd prefer 64 bit anyway, and new is always fun.

User avatar
jim.bus
Senior user
Senior user
Posts: 304
Joined: 2011-05-28 11:49
Location: US

Re: MySQL 8 cluster and hmailserver 5.6.7

Post by jim.bus » 2019-10-16 06:00

tolberjj wrote:
2019-10-15 20:21
I have a few older hmailserver installations against older MySQL 5.6 installations on Windows 2008 R2 and they have worked flawlessly for several years. I am moving hmailserver to a new server (Server 2016 standard) with a new MySQL 8 InnoDB cluster and running into issues. This is for outgoing mail handling only.

Hurdles crossed successfully:
1. I picked up an older version of libmysql.dll from previous installations and it's working (mostly).
2. I created a new admin account on MySQL with "Standard" authentication type and gave it full access to % (temporarily)
3. In installation using account in step 2, I am going through MySQL router via port 6446.

The issue:
4. I have selected create NEW database, and schema itself creates successfully, with tables, but fails with

Starting task...
Please wait while creating database...
MySQL: The table does not comply with the requirements by an external plugin. (Additional info: insert into hm_dbversion values (5601);)

hm_dbversion table is there, but empty, which makes sense from the message.

Any hints on how to proceed? Thanks in advance.
I am not at all proficient with Database Servers but I did not hear you indicate you had followed all the steps needed when setting up a Database on MySQL 8 when using it with hMailServer 5.6.7 which is an x86 (32 bit version). I read where you found an old libmysql.dll which presumably is a 32 bit version otherwise you wouldn't have been looking for an older version because the 32 bit version is required on hMailServer 5.6.7. However, while I am not sure if this is the problem I believe you have to select, when setting up the MySQL 8 Database Server installation (and I do this myself), THE LEGACY MODE selection as I believe this is what allows hMailServer 5.6.7 to use the 32 bit version of libmysql.dll as a client to MySQL 8 Database Server which otherwise is a 64 bit version of MySQL 8.

I do not do anything other than a standard MySQL 8 installation except for using the Legacy Mode option during the installation of MySQL 8 with my hMailServer 5.6.7-B2425 version and I do not have any problems.

Post Reply