شاید برای شما هم پیش بیاد که بخواین که نام دیتابیس را تغییر بدید. خوب اگه از phpmyadmin استفاده میکنید که اون خودش براتون این کار را می کنه. ولی اگه خودتون می خواید از طریق خط فرمان این کار را انجام بدید، باید بدونید که دستوری برای این کار نداریم!
پس برای انجام این کار باید چی کار کرد. یک راه حل اولیه اینه که یک دیتابیس جدید با اسم مورد نظر بسازید، از دیتا بیس قبلی backup بگیرید و بعد در دیتابیس جدید restore کنید.
mysqldump -u username -p -v olddatabase > olddbdump.sql mysqladmin -u username -p create newdatabase mysql -u username -p newdatabase < olddbdump.sql
اگه بخوایم یه کم بار I/O را کم کنیم می تونیم از ترفند زیر استفاده کنیم (من از stackoverflow پیدا کردم)
mysqladmin -u username -p create newdatabase mysqldump -u username -v olddatabase -p | mysql -u username -p -D newdatabase
اگه از Innodb برای دیتابیس استفاده میکنید، یه روش کم بار تر هم می تونید استفاده کنید. دیتابیس جدید با اسم جدید بسازید و بعد table هاتون را rename کنید.
RENAME TABLE old_db.table TO new_db.table;
برای اینکه همه table ها را یکجا rename کنید از حلقه while یا for می تونید استفاده کنید
mysql -u username -ppassword old_db -sNe ‘show tables’ | while read table; \ do mysql -u username -ppassword -sNe “rename table old_db.$table to new_db.$table”; done