Creo que solo hay una forma (además de cambiar el nombre del directorio en MySQL datadir que fallará para las tablas InnoDB):
- crear nueva base de datos (con nuevo nombre)
- hacer un volcado de la base de datos antigua
- importar datos volcados a una nueva base de datos
- eliminar base de datos antigua
Para crear la nueva base de datos:
mysql> CREATE DATABASE new_database;
Para crear el volcado de la base de datos antigua:
mysqldump -u "your_username" -p --lock-tables old_database > old_database_dump.sql
Para importar datos volcados a la nueva base de datos:
mysql -u "your username" -p new_database < old_database_dump.sql
Para eliminar la base de datos anterior:
mysql> DROP DATABASE old_database;
Tenga en cuenta que también deberá eliminar sus permisos en la base de datos anterior. Consulte aquí para obtener más información:Revocar todos los privilegios para todos los usuarios en una base de datos MySQL
MySQL 5.1.7 a MySQL 5.1.22 tenía un RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
pero este se eliminó en MySQL 5.1.23 por ser demasiado peligroso.