2011-04-18 132 views
2

有没有办法在MySQL中为特定用户分配默认数据库,以便在查询时不需要指定数据库名称?MySQL的默认数据库

+2

你用什么来连接MySQL?如果是shell,你可以使用合适的〜/ my.cnf。 – Lmwangi 2011-04-18 07:26:11

回答

2

我认为你需要重新审视一些概念 - 正如Lomwangi指出的,如果你正在连接mysql客户端,my.cnf可以设置它。

但是,您使用单词查询表明您正在讨论从某些编程环境进行连接 - 在这种情况下,您将始终需要一个连接对象。要创建连接对象,在这种情况下,要连接到默认数据库将不会有任何改进(就速度或简单性而言)。有效地管理你的连接可能对你很有趣 - 但为此你应该让我们知道你的环境究竟是什么。

1

将权限分配给每个用户组时,还可以在同一文件中为该组指定几件事情,例如用户组需要使用的数据库。

您可以使用规范文件(取决于您使用的语言)作为简单变量来执行此操作。稍后,您只需查找该变量即可知道需要使用哪个数据库。但是,我再说一遍,这取决于语言。规范文件可以是XML,phpspecs文件或类似的东西。

1

最好的办法是在连接上使用MySQL触发器。但是,MySQL只接受更新,删除和插入的触发器。 Google的快速搜索产生了一个有趣的存储过程替代方案。请 见MySQL Logon trigger

1

如果使用数据库模式,则不必每次都指定数据库名称,但需要选择数据库名称。

+0

指定和选择(在这种情况下)有什么区别? – 2015-11-09 11:14:07