Applicable to:
- Plesk for Linux
Symptoms
Migration failes:
CONFIG_TEXT: Failed to copy content of database 'example_db'
Migration tools tried to perform operation in 3 attempts: Command execution failed on the local server with non-zero exit code.
command: mysql --defaults-file=/usr/local/psa/var/modules/panel-migrator/sessions/20171108065711/target-server/my_localhost_example_db.cnf -h localhost -P 3306 -uadmin example_db < /usr/local/psa/var/modules/panel-migrator/sessions/20171108065711/target-server/db-dumps/example_db.sql
exit code: 1
stdout:
stderr: ERROR 1214 (HY000) at line 2956: The used table type doesn't support FULLTEXT indexes
Cause
Fulltext search is enabled in one or several tables, but InnoDB engine is used for these tables. Fulltext search is supported only in MyISAM storage engine.
Resolution
- Connect to the target server using SSH .
- Open the dump file mentioned in the error message
/usr/local/psa/var/modules/panel-migrator/sessions/20171108065711/target-server/db-dumps/example_db.sql
and perform the search for the wordFULLTEXT
. Note the names of tables. - Connect to the source server using SSH .
- Create backup of example_db database:
# plesk db dump example_db > example_db.sql
- Connect to MySQL server and 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;
If there is no root access to the source server or there is no Plesk installed, use the following instruction:
- Create a dump of the affected database on a source server and upload it to a local machine or in a directory of the incompletely migrated website on a target server in Plesk > Domains > example.com > File Manager.
- Open the dump file and find all tables which contain word "FULLTEXT", for example:
CONFIG_TEXT: 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; - Manually change the engine to MYISAM for all affected tables:
CONFIG_TEXT: 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 a database in Plesk > Domains > example.com > Databases with the same name and user as the original one.
- Import edited dump of the database in Plesk > Domains > example.com > Databases > example.database > Import.
- Re-sync data for this domain without option Re-sync database data in Plesk > Tools & Settings > Migration and Transfer Manager > example.migration > example.com
Comments
0 comments
Please sign in to leave a comment.