Support

Site Restoration

#12927 Restore SQL Error #1071

Posted in ‘Site restoration’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
CMS Type
Other
CMS Version
n/a
Backup Tool Version
n/a
Kickstart version
n/a

Latest post by nicholas on Thursday, 12 July 2012 09:44 CDT

user66320
Mandatory information about my setup:

Have I read the related troubleshooter articles above before posting (which pages?)? Yes nothing on this error.
Have I searched the tickets before posting? Yes
Have I read the documentation before posting (which pages?)? Yes 24-29 are relevant.
Joomla! version: 1.7.0
PHP version: >=5.1.6
MySQL version: 3.3.8.1
Host: 205.178.146.110
Akeeba Backup version which took the backup: 3.4.3
Kickstart version used to extract the backup: 3.4.1

Description of my issue:
I am getting an SQL error when I try to resore a backup of my site. Here is the error text...
Error at the line 111: CREATE TABLE `phplist_user_blacklist_data` ( `email` varchar(255) NOT NULL, `name` varchar(100) NOT NULL, `data` text, UNIQUE KEY `email` (`email`), KEY `emailidx` (`email`), KEY `emailnam ...MySQL: MySQL query failed with error 1071 (Specified key was too long; max key length is 1000 bytes). The query was:CREATE TABLE `phplist_user_blacklist_data` ( `email` varchar(255) NOT NULL, `name` varchar(100) NOT NULL, `data` text, UNIQUE KEY `email` (`email`), KEY `emailidx` (`email`), KEY `emailnameidx` (`email`,`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

We are in the process of moving hosts so I am restoring to a new database. I don't have access to the old database so I can't do any other type of backup. Any ideas on things that I can configure in the installer or in mySQL to fix this?

Thanks

nicholas
Akeeba Staff
Manager
MySQL 3.3.8 is ancient history and not supported by any Joomla! version released ever. Even all the way back to August 25th, 2005 when Joomla! came to be the minimum requirement was MySQL 4.0. So the only sane thing to do is have your host install MySQL 5.1 or 5.5 (yes, this is how many versions your host is left behind).

Moreover, PHP 5.1.6 is ancient. You need at least PHP 5.2.7 to run Joomla! reliably. That said, PHP 5.2 has been end of life since January 2011 (yes, I really mean last year). You must ask your host to install PHP 5.3.13.

Overall, your host's server environment seems to be stuck back in 2006. The calendar today reads 2012. Your host has not updated their server for 6 years?! My strong suggestion: switch hosts as soon as possible. A host who doesn't care to update his server for 6 years must not be used unless you enjoy your site not running or being hacked all the time.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user66320
Alright, sorry about that. I called the host and I have outdated information. PHP: 5.3.8 MySQL: 5.0.89
Thanks

nicholas
Akeeba Staff
Manager
OK, this is much better :) You just have to create a new database with utf8_general_ci collation.

That said, please note that phpList was designed for older databases in mind. It is very possible that it will indeed not be possible for its tables to be restored on a modern database with UTF-8 encoding. The workaround is to use latin1_general+ci collation on your database, but this will screw up Joomla!. That's pretty much why I abandoned phpList five years ago. A temporary workaround would be something like this:
- exclude the phplist_* tables using Akeeba Backup's database table exclusion feature
- take a new backup
- restore it on your new host
- ask at the phpList forum for the proper way to transfer phpList's database data to a new MySQL server

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user66320
Thanks for the response. I did what you recommended and it worked. Looks like phpList has a issue with creating that specific table. One of the fields needed to be created with a size of 233 rather than 255.

Thanks.

nicholas
Akeeba Staff
Manager
You're welcome! I'm glad I could help you :)

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!