Friday, March 14, 2008

MySQL will not start, "MySQL File '/usr/share/mysql/charsets/?.conf' not found" in error log.

The most common cause for this error, is a failed downgrade of MySQL from 4.1 to 4.0. Many changes were made between MySQL 3.x, 4.0.x, and 4.1.
The actual cause of the error itself, is missing character sets from the 4.1.x series. The best wayto recover, would be to use a backup of your database made before the upgrade to 4.1. This wayyou can be sure there are no changes that would adversly affect the db.
As a last restort, you will need to upgrade to 4.1 again. Once your server is running MySQL 4.1,you can dump the databases to a 4.0 format, and facilitate a downgrade to 4.0.
To do this, open an ssh shell, and dump the database with the following command:
mysqldump --create-options --compatible=mysql40 db_name > dump_file
Just substitue your database name for db_name, and your file for dump_file. After this has beencompleted for all databases, you can completely uninstall MySQL 4.1, and reinstall MySQL 4.0. Afterthat it is just a matter of importing all of your databases to your newly installed MySQL 4.0 instance.

No comments: