Description:
This bug a partial re-occurrence of bag#30654. It seems the problem of mysqlcheck failing during upgrade was fixed only for the case where the names include spaces but not for the case where the names include backticks such as in:
- ta1`b - created by: create table `ta1``b`
How to repeat:
1) Create a 5.0 system and add a table named "ta1`b" using:
CREATE TABLE `ta1``b` (I INT);
2) Upgrade the system to 5.1
3) Run the mysql_upgrade command:
mysql_upgrade --datadir=<path_to_data> --basedir=<path to binaries> --force
--socket=>socket_file> --user=root
Workarownd
----------
Before running mysql_upgrade, rename all tables that required a delimiter when defined, to
names that do not require it, for example:
RENAME TABLE `ta1``b` TO ta1_b;
Run the mysql_upgrade program
Rename the tables back to their original names:
RENAME TABLE ta1_b TO `ta1``b`;
Suggested fix:
If encountering a backtick in the name - duplicate it