Novell Home

My Favorites

Close

Please to see your favorites.

MySQL upgrade fails due to presence of directories containing a dot

This document (7014519) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Subscription Management Tool SP3

Situation

The upgrade from a MySQL 5.x (SMT 11 SP2) installation to 5.5.x (SMT 11 SP3) hosting a SMT database fails due to the presence of a hidden directory:
 # touch /var/lib/mysql/.force_upgrade
 # rcmysql restart
Restarting service MySQL
Shutting down service MySQL
done
Will update MySQL now, if you encounter any problems, please read
following file:
        /usr/share/doc/packages/mysql/README.SuSE
Log files inconsistency, please merge following files manually:
        /var/lib/mysql/mysqld.log
        /var/log/mysqld.log
Running protected MySQL...
Upgrading MySQL...
Failed to ALTER DATABASE `#mysql50#.tmp` UPGRADE DATA DIRECTORY NAME
Error: Incorrect database name '#mysql50#.tmp'
/usr/bin/mysqlcheck: Got error: 1102: Incorrect database name
'#mysql50#.tmp' when selecting the database
FATAL ERROR: Upgrade failed
   Looking for 'mysql' as: /usr/bin/mysql
   Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
   Running 'mysqlcheck' with connection arguments:
   '--socket=/var/tmp/mysql-protected.9ixAiH/mysql.sock'
   Running 'mysqlcheck' with connection arguments:
   '--socket=/var/tmp/mysql-protected.9ixAiH/mysql.sock'
or because of a 3rd party database containing a "." in the folder name
linux:~ # touch /var/lib/mysql/.force_upgrade
linux:~ # rcmysql restart
Restarting service MySQL
Shutting down service MySQL                                                                                                               done
Will update MySQL now, if you encounter any problems, please read following file:
            /usr/share/doc/packages/mysql/README.SuSE
Log files inconsistency, please merge following files manually:
            /var/lib/mysql/mysqld.log
            /var/log/mysqld.log
Running protected MySQL...
Upgrading MySQL...
Failed to ALTER DATABASE `#mysql50#cacti.org` UPGRADE DATA DIRECTORY NAME
Error: Incorrect database name '#mysql50#cacti.org'
/usr/bin/mysqlcheck: Got error: 1102: Incorrect database name '#mysql50#cacti.org' when selecting the database
FATAL ERROR: Upgrade failed
  Looking for 'mysql' as: /usr/bin/mysql
  Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
  Running 'mysqlcheck' with connection arguments: '--socket=/var/tmp/mysql-protected.m7WZgW/mysql.sock'
  Running 'mysqlcheck' with connection arguments: '--socket=/var/tmp/mysql-protected.m7WZgW/mysql.sock'


Resolution

Make sure the mysql service is stopped, backup /var/lib/mysql completely and move the corresponding directory away from the database directory, then restart mysql to continue with the upgrade.

Additional Information

Although MySQL is perfectly able to host several databases, 3rd party databases represent an unsupported scenario on a Subscription Management Tool setup.

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7014519
  • Creation Date:07-FEB-14
  • Modified Date:07-FEB-14
    • SUSESubscription Management Tool
      SUSE Linux Enterprise Server

Did this document solve your problem? Provide Feedback