Tôi nghĩ chỉ có một cách (ngoài việc đổi tên thư mục trong MySQL datadir sẽ không thành công cho các bảng InnoDB):
- tạo cơ sở dữ liệu mới (với tên mới)
- tạo kết xuất cơ sở dữ liệu cũ
- nhập dữ liệu đã kết xuất vào cơ sở dữ liệu mới
- xóa cơ sở dữ liệu cũ
Để tạo DB mới:
mysql> CREATE DATABASE new_database;
Để tạo kết xuất của DB cũ:
mysqldump -u "your_username" -p --lock-tables old_database > old_database_dump.sql
Để nhập dữ liệu đã kết xuất vào DB mới:
mysql -u "your username" -p new_database < old_database_dump.sql
Để xóa DB cũ:
mysql> DROP DATABASE old_database;
Hãy nhớ rằng các quyền của bạn trên DB cũ cũng sẽ cần bị xóa. Xem tại đây để biết thêm thông tin: Thu hồi tất cả các đặc quyền cho tất cả người dùng trên MySQL DB
MySQL 5.1.7 đến MySQL 5.1.22 có RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
nhưng lệnh này đã bị xóa trong MySQL 5.1.23 vì quá nguy hiểm.