Applicable to:
- Plesk for Linux
Symptoms
A migration to Plesk server fails with the following error:
Failed to copy content of database 'example_db'
ERROR 1214 (HY000) at line 2956: The used table type doesn't support FULLTEXT indexes
Cause
The target Plesk server has MariaDB 5.5 installed using InnoDB engine which does not support FULLTEXT search function.
Resolution
Apply one of the following resolutions:
-
Upgrade to Mariadb 5.6 or above:
How to upgrade MySQL 5.5 to 5.6/5.7 or MariaDB 5.5 to 10.x on Linux?
-
Change engine for tables using FULLTEXT search in database on source server
-
Connect to the target server using SSH
-
Open the dump of database mentioned in the error message, for example
/usr/local/psa/var/modules/panel-migrator/sessions/20171108065711/target-server/db-dumps/example_db.sql
and find all affected tables by searching forFULLTEXT
. Note the names of tables. -
Connect to the source server using SSH
-
Create a backup of the database:
# plesk db dump example_db > example_db.sql
-
Change the engine to MyISAM for tables found in step 2:
# plesk db
mysql> use example_db
ALTER TABLE table1 ENGINE = MYISAM;
ALTER TABLE table2 ENGINE = MYISAM;
-
-
Modify database dump and migrate manually on source server without Plesk
-
Create a dump of the affected database on the source server
-
Download it to a local machine or upload it to the related domain on the target server
-
Open the dump file and find all tables which contain word "FULLTEXT", for example:
CREATE TABLE `example.table` (
`ex` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ex2` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `license_type_id` (`license_type_id`,`pkg_id`),
FULLTEXT KEY `pkg_id` (`pkg_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -
Replace
ENGINE=InnoDB
withENGINE=MYISAM
for all tables found in step 3.:CREATE TABLE `example.table` (
`ex` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ex2` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `license_type_id` (`license_type_id`,`pkg_id`),
FULLTEXT KEY `pkg_id` (`pkg_id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8; -
Create the database in the target Plesk server with the same database-name and database-user as the source database
-
Import modified dump of the database on the target server
-
Re-sync the subscription without option Re-sync database data
-
Comments
0 comments
Please sign in to leave a comment.