如何使用MySQL更改数据库名称?

29

如何更改数据库的名称?

我尝试使用重命名数据库命令,但文件中提到它是危险的。那么我该怎么做才能更改我的数据库名称呢?

比如说,如果我想把我的数据库重命名为这个。

database1 -> database2?

1
请参考以下链接:https://dev59.com/bWct5IYBdhLWcg3wULvo - nom_nutella
啊,好的,那就没有相关的代码了。所以我只需要将我的数据库导出并重命名即可。谢谢。 - Jerielle
3
是的,那是一个更好的想法,另外请检查https://dev59.com/sXVD5IYBdhLWcg3wKYP-。 - MusicLovingIndianGirl
这个问题不应该被关闭,它涉及到一个没有使用mysql的答案。 - Grumpy
这个问题不应该被关闭,它指的是一个没有使用MySQL的答案。 - undefined
13个回答

-1

经过长时间的挣扎,我发现这个方法“简单”有效。 首先,我使用的是MYSQL Workbench,导入时无法正常工作,因为导入转储文件总是会恢复到原始模式名称。我试了几个小时,尝试了所有的方法,但都无济于事,结果只是一个拼写错误。 我通过在笔记本中打开其中一个.sql 转储文件并手动编辑模式名称中的错别字来解决了这个问题,请注意将所有实例重命名为以三个开头的模式名称,并保存文件,然后导入。对我来说完美地解决了问题,希望这能帮助其他寻找更改数据库名称/模式名称简单答案的人。 还有一个我发现是真的技巧,当程序不能像他们应该一样工作时,去“源码”,确实找到源代码。 希望这能帮助到某些人

因为声望低,所以他们不让我评论之前/之后的答案(它一直在改变排名或位置),所以我把它加到这里了。只要服务器表中没有数据,反向工程就可以正常工作。如果存在数据并且您尝试在名称更改后更新服务器,则会出现错误或仅创建一个没有数据的新数据库/模式,我知道我尝试了十次都无济于事。 以上方法简单易行,避免了头疼的问题,因为人们可以查看SQL代码是否有其他错误,或更改表名或创建数据。 .sql文件只是编译的SQL代码,因此理论上可以通过PHP或数据库管理工具的脚本控制台复制并添加它。


-4

前往数据目录并尝试以下操作:

mv database1 database2 

在我的电脑上,它可以处理大小为900 MB的数据库。


这只适用于一个非常特定的用例...你使用MyISAM作为存储引擎。在执行此操作之前,请确保已关闭mysql并且未使用复制。像这样直接更改文件系统不会被任何副本捕获。 - txyoji

-5

尝试:

RENAME database1 TO database2;

我尝试过,但在我阅读的文档中提到,如果执行此代码,您可能会丢失数据。 - Jerielle
1
这是一般的语法,但最好放弃数据库并创建一个新的。 - MusicLovingIndianGirl
谢谢。那是最好的解决方案。 - Jerielle
这个语句RENAME DATABASE Syntax在MySQL 5.1.7中被添加,但后来被发现存在危险性,在MySQL 5.1.23中被移除。 - Ahmad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接