1

Greetings to those readying the thread and thank you for devoting your time to answering the question.

I have encountered a problem when uploading a MySQL 5.7 backup database to a Percona xtradb 5.7 cluster.

The restoration is performed by the mysqlfrm command in the following format.

mysqlfrm -q --user=root '--server=root:password@localhost:3306' --port=3310 /location/of/backup/directory --diagnostic | mysql -B -u username -p'password'

Basic explanation of the command:

The command concatenates the .frm files and then pipelines them to the MySQL shell to be executed.

Now... when uploading the .frm files and performing the "CREATE TABLE" Statement I have noticed that the query contains "ROW_FORMAT = 5". The results when uploading the backup to mysql5.7 where successful and all the data was restored but when performing the same for a Percona xtradb 5.7 cluster I was presented with a syntax error "ERROR 1064".

This is an example of the query:

CREATE TABLE example.test (node_id INT PRIMARY KEY, node_name VARCHAR(30))ENGINE=InnoDB DEFAULT CHARSET=utf8, ROW_FORMAT = 5, COMMENT 'test';

When changing the ROW_FORMAT = 5 to Compact everything is working and the restore is successful.

Now for the main question does MySQL 5.7 and Percona xtradb 5.7 have a difference between syntaxes and is it at all normal that when performing the backup the .frm file has captured the value of 5 to the ROW_FORMAT variable instead of Compact?

2
  • Did you try running the same CREATE TABLE statement on MySQL? I don't think ROW_FORMAT=5 will work regardless of which branch you use. This appears to be an error in the output of mysqlfrm. Commented Nov 15, 2022 at 17:52
  • Suggest filling a bug report with Percona.
    – Rick James
    Commented Nov 15, 2022 at 19:16

1 Answer 1

0

So I've managed to find my answer.

It does seem as if the MySQL utilities package downloaded from the yum repositories for centos7 has a bit of a problem with its version.

After redownloading it from the official MySQL repositories I was successful to restore the .frm tables.

The working version is "MySQL Utilities mysqlfrm version 1.6.5".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.