How to rename a MySQL database?
The MySQL online manual has said about the RENAME DATABASE command (this documentation page has been removed by Oracle some time ago):
This statement was added in MySQL 5.1.7 but was found to be dangerous and
was removed in MySQL 5.1.23.
So, how to proceed? The rationale: We started with a code name for the project and want the database name now to reflect the definitive name of the project.
Best Answer
From this blog post by Ilan Hazan:
In MySQL there is no support for database renaming. In order to rename a MySQL database you can do one of the following:
Create new database and rename all tables in the old database to be in the new database:
In Linux shell, use mysqldump to back up the old database, then restore the dumped database under a new name using the MySQL utility. Finally, use the drop database command to drop the old database. This option can perform badly for large database.
Write a simple Linux script (my favorite solution)
If all your tables are MyISAM, you can rename the old database folder name: