如何在不删除或移动mysql中的表的情况下重命名数据库? [复制]
Posted
技术标签:
【中文标题】如何在不删除或移动mysql中的表的情况下重命名数据库? [复制]【英文标题】:How to rename database without deleting or moving tables in mysql? [duplicate] 【发布时间】:2011-04-11 12:35:55 【问题描述】:可能重复:How do I quickly rename a mysql database (change schema name)?
嗨, 请帮我重命名mysql中的数据库名称
【问题讨论】:
How do I quickly rename a mysql database (change schema name)? 的完全重复 【参考方案1】:你不应该使用rename database
,因为它会导致数据丢失http://dev.mysql.com/doc/refman/5.1/en/rename-database.html
改为使用alter database
语法http://dev.mysql.com/doc/refman/5.1/en/alter-database.html
【讨论】:
Alter 不能更改数据库的名称。它只能升级编码(如果可能的话)。 mysqldump 命令是你最好的选择,如果你想这样做..【参考方案2】:您可以选择以下任何一种方式来重命名 MySQL 中的数据库。
如果您有权访问 MySQL 存储其数据库的目录。根据默认的 MySQL 安装,这通常位于 MySQL 安装目录下的数据目录中。在数据目录下找到所需数据库的名称并根据需要重命名。注意:您必须在重命名数据库之前停止 MySQL Server,并在此操作后重新启动它。在这种情况下,您还可以在重命名的数据库上再次授予权限。这仅适用于 MyISAM 表。如果您有其他存储引擎的表,请使用下面描述的方法。
另一种似乎最安全的方法是使用 mysqldump 实用程序备份旧数据库。创建一个具有所需名称的新数据库,然后使用 mysql 实用程序恢复此数据库下的转储数据库。最后,使用 DROP DATABASE old_database_name;命令摆脱旧数据库。 这是最安全的方法。
【讨论】:
以上是关于如何在不删除或移动mysql中的表的情况下重命名数据库? [复制]的主要内容,如果未能解决你的问题,请参考以下文章