当前位置: 首页 > 面试题库 >

如何在MySQL中为数据库命名?

池麒
2023-03-14
问题内容

我正在寻找一种在MySQL中为数据库命名的方法。原因是能够重命名实时生产数据库而不会导致系统停机。我想可以将数据库别名为新名称,随意更改和部署连接到数据库的代码,并最终删除旧别名。

如果有更好的方法可以做到这一点,请告诉我。


问题答案:

https://dev.mysql.com/doc/refman/5.7/en/symbolic-links-to-
databases.html

MySQL不支持将一个目录链接到多个数据库。

您可以使用符号链接将数据库目录链接到其他某个位置,例如,在datadir之外。

$ cd /var/lib/mysql
$ ln -s /other/dir/mydatabase .

但是您不能使用符号链接将一个数据库目录作为另一个MySQL数据库的“别名”:

$ cd /var/lib/mysql
$ ln -s `pwd`/mydatabase1 mydatabase2  # WRONG

原因是InnoDB将数据库名称和其他元数据保留在自己的数据字典中,并存储在表空间文件中。如果您混淆了,您将无法获得想要的东西。

MySQL没有任何别名数据库的DDL语法。



 类似资料:
  • 问题内容: 我已经创建了一个关于餐馆的在线数据库,我需要通过我的android应用程序访问该数据库,以便在过滤后可以向用户显示数据。我的应用程序不需要更新数据库,但是我的问题是如何连接到我的在线mysql数据库并将其提供给用户?我已经在该站点以及其他站点上查看了许多建议,但我发现访问时必须使用JSON解析器,但不必这样做。 问题答案: 最好的解决方案是提供一个公共API,例如,使用PHP管理该AP

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好

  • 问题内容: 我想使用Web服务在远程Web服务器上的MYSQL数据库中插入文件。 我的问题是:什么类型的表列(例如varchar等)将存储文件?对于文件,insert语句会有所不同吗? 问题答案: BLOB数据类型最适合存储文件。 请参阅:如何使用PHP将.pdf文件作为BLOB存储到MySQL中? MySQL BLOB参考手册有一些有趣的注释

  • 问题内容: 我使用塔和sqlalchemy。我不断更新架构文件,并删除并重新创建数据库,以便可以制作新的架构。 每次我通过打开MySql查询浏览器并登录并删除数据库/架构来执行此操作。 如何在Ubuntu Linux中删除完整的linux shell命令中的MySQL db / schema? 问题答案: 尝试以下命令:

  • 问题内容: 我有兴趣将值的子集从MySQL数据库导出到磁盘上的JSON格式的文件中。 我找到了一个讨论执行此操作的方法的链接:http : //www.thomasfrank.se/mysql_to_json.html …但是当我使用该页面中的方法时,它似乎可以工作,但是有两个问题: 1)它只返回大约15个结果,最后一个突然中断(不完整)。当我按以下方式运行时,我对此的标准查询返回大约4000个结

  • 问题内容: 我在Windows 7上,对这个数据库东西有些陌生。我尝试在Google上搜索如何将时区从我的系统更改为UTC,但是文档有些高级,因此我不太确定如何更改此字段。 问题答案: 在my.ini文件的[mysqld]部分下,添加以下行: 重新启动服务器。您还可以在运行时从命令行使用以下命令进行设置 MySql的文档