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?
-
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.Bill Karwin– Bill Karwin2022年11月15日 17:52:27 +00:00Commented Nov 15, 2022 at 17:52
-
Suggest filling a bug report with Percona.Rick James– Rick James2022年11月15日 19:16:38 +00:00Commented Nov 15, 2022 at 19:16
1 Answer 1
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".