MySQL手册中有介绍。

通常我只是转储数据库并用一个新名称重新导入它。这不是非常大的数据库的一个选项。重命名数据库| SCHEMA} db_name TO new_db_name做坏事,只存在于少数版本中,总的来说是个坏主意。

这需要与InnoDB一起工作,InnoDB存储的东西与MyISAM非常不同。


当前回答

我是这样做的: 对现有数据库进行备份。它将为您提供一个db.zip.tmp,然后在命令提示符中写入以下内容

"C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin\ MySQL .exe localhost -u root -p[password][新数据库名]< "C:\Backups\db.zip.tmp"

其他回答

简单的方法

切换到数据库目录:

cd /var/lib/mysql/

关闭MySQL…这很重要!

/etc/init.d/mysql stop

好吧,这种方法不适用于InnoDB或BDB-Databases。

重命名数据库:

mv old-name new-name

...或者桌子……

cd database/

mv old-name.frm new-name.frm

mv old-name.MYD new-name.MYD

mv old-name.MYI new-name.MYI

重新启动MySQL

/etc/init.d/mysql start

做……

好吧,这种方法不适用于InnoDB或BDB数据库。在这种情况下,您必须转储数据库并重新导入它。

步骤:

点击http://localhost/phpmyadmin/ 选择您的数据库 点击操作选项卡 将有一个选项卡作为“重命名数据库到”。添加新名称并勾选调整权限。 点击Go。

当您在PHPMyAdmin中重命名数据库时,它会创建一个转储,然后删除并使用新名称重新创建数据库。

使用以下几个简单的命令:

mysqldump -u username -p -v olddatabase > olddbdump.sql
mysqladmin -u username -p create newdatabase
mysql -u username -p newdatabase < olddbdump.sql

或者使用@Pablo Marin-Garcia建议的以下方法来减少I/O:

mysqladmin -u username -p create newdatabase
mysqldump -u username -v olddatabase -p | mysql -u username -p -D newdatabase

如果你使用的是phpMyAdmin,那么你只需要到xamp中的mysql文件夹,关闭phpMyAdmin,然后重命名你看到的文件夹作为你的数据库名,然后重新启动你的phpMyAdmin。可以看到数据库重命名了。