Mautic 3.0 Installation Error - Row size too large

Your software

My PHP version is : 7.3
My MySQL version is : 5.6.41-84.1

Updating/Installing Errors

Upgrading/installing via: Web Cpanel

These errors are showing in the installer :

An error occurred while attempting to add default data: An exception occurred while executing ‘CREATE INDEX instagram_search ON leads (instagram)’: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

These errors are showing in the Mautic log :

[16-Jun-2020 07:37:42 UTC] PHP Warning: Class ‘Tightenco\Collect\Support\LazyCollection’ not found in [MAUTIC PATH]/vendor/tightenco/collect/src/Collect/Support/alias.php on line 19

[16-Jun-2020 07:37:42 UTC] PHP Parse error: syntax error, unexpected ‘=’ in [MAUTIC PATH]/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php on line 611

Your problem
My problem is : Not able to install Mautic on my subdomain

1 Like

Hi there,

Thanks for taking the time to report this, we have seen this in a few cases but they were using MariaDB - are you definitely on MySQL? Can you clarify, version 8.2?

Also what collation etc are you using for the database?

2 Likes

My bad, upon checking I realized it’s 5.6.41-84.1

What database collation are you using?

1 Like

I had a similar error. Upgrading from Mariadb 10.1.45 to 10.3 solved the issue.

2 Likes

This is what we find, but the OP seems to be using MySQL. Maybe there’s a comparable bug/issue with the related MySQL version?

Will do a bit of digging tomorrow!

1 Like

@malik you will need to update your MySQL version before you update. Mautic 3 has a minimum requirement of MySQL 5.7. See also the ‘what’s new’ page on the docs.

According to the version compatibility,

MariaDB 10.2, MariaDB 10.3, and MariaDB 10.4 function as limited drop-in replacements for MySQL 5.7, as far as InnoDB is concerned. However, the implementation differences continue to grow in each new MariaDB version.

MariaDB 10.0 and MariaDB 10.1 function as limited drop-in replacements for MySQL 5.6, as far as InnoDB is concerned. However, there are some implementation differences in some features.

Source: MariaDB versus MySQL - Compatibility - MariaDB Knowledge Base

This explains the issue for MariaDB 10.0/10.1 users.

2 Likes

A post was split to a new topic: Guide to installing Mautic

Hmmmm - this is concerning. I thought that MaridaDB was a 100% drop-in replacement from MySQL.

Does this mean that we should ONLY be using MySQL for Mautic installations?

We have installed with MariaDB v10.3.22 and it “seems” ok… But we have not yet started to acutally use the software yet :wink: Also as there is no corresponding mathcing numbers between the two RDBMS - how is one to compare?

1 Like

This is a discussion we are having in the Mautic 3 channel on Slack - as per the info above it seems they are becoming less a ‘drop in replacement’ as time goes on.

We are proposing:

  • Update the stats app in such way that we can see the amount of MariaDB installations
  • If a large number of users are using MariaDB, we could consider adding MariaDB to the Travis config (we currently only test against MySQL) so that we are notified automatically if a migration or feature is created that’s incompatible with MariaDB. Travis supports it: https://docs.travis-ci.com/user/database-setup/#mariadb

So we are actively looking into it as a result of this issue.

1 Like

very interesting - I had no idea! It did not even dawn on me to even THINK about the differences between MySQL and MariaDB…Oh no…!!

I would be curious to see those stats too - as I guess most will just go with MariaDB as it is supposed tobe the “right one” and free of the big O’s nasty grip…

Ok - but on another tak - software like Nextcloud are “db agnostic” (sort-off) - I am surprised that given the big effort of the V3 re-write - and the proposed move to microservices - that this is hitched to MySQL - epsecially as it’s not exactly the most popular DB these days :wink:

Personally i like Pg (PosgreSQL) - a quality database, FOSS, and solid.

1 Like

Can confirm MariaDB 10.2 is the minimum required version for Mautic 3, as it’s basically the same as MySQL 5.7. Versions older than 10.2 are not compatible. For more details, see this reply:

1 Like

Hi,

I’m installing new instance and having same issue configuring cron jobs on plesk, I’m on Mysql 5.7 and PHP7.2, I have also tried PHP7.3 and its producing same error.

Any suggestions?

Thanks.

Hi @rehansaleem,
Were you able to solve this? What is your version of Mautic installed?

The row size too large error occurs when the incorrect database version is being used. You’ll need to update your database if you’re seeing this error (see the solution in the first thread).

Hi @rehansaleem,

We had this issue too but moving to php 7.2 fixed it. Which version of php 7.2.x are you on that you still get the error?

See this:

You might want to confirm your PHP version a phpinfo() file in the root if you can’t access the server details in the settings area of Mautic. (Also you may need to disable htaccess to load the phpinfo php file in the root as the htaccess routes all requests to index)

Also if it is the right version make don’t assume its the same error causing the 500 error…make sure the error did not change to a memory error.

1 Like

Hi @henryweismann on Plesk I selected to run the cronjob as PHP and chose the PHP 7.2 to run the command which solved the issue.

Thanks.

Actually @rcheesley I know why this might happen. Your install script replaces the .htaccess file with a newer version. Some hosts have a multi php feature that allows changing the php version in the htaccess file and in those cases as soon as the upgrade is done bam you get the 500 error because the code (something like this):

 # php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
AddType application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>

# php -- END cPanel-generated handler, do not edit

Is deleted. Now I don’t know if this is something you need to handle or not but maybe it should be mentioned in the install docs or the install script compatibility check?

@dennisameling this might be something to include in the issue you have open about improving the install/upgrade process.

Thanks for the help @rcheesley, I was not using the appropriate database version

1 Like