一个数据库用户对应多个数据库
一个使用两个数据库的应用——比如一个主库和一个用于 后台的独立 schema——并不需要两个登录凭据。给一个用户授予对两者的访问权即可。
给一个用户再加一个数据库
数据库 → 数据库用户 → 在该用户所在的行上,点击 添加数据库(Add database)。
系统会询问数据库的短名(shop,而不是 youracct_shop)。
该用户保留其现有密码和现有访问权;新数据库
被添加到它名下。
那张表中的每一行都会显示该用户当前能够访问什么:
app Databases: shop, admin Access: localhost only
一个尚无任何数据库的用户会显示为 no databases yet。
撤回一个数据库
同一行,点击 移除数据库(Remove database)。该按钮在用户持有至少 一个数据库后才会出现。系统会询问撤回哪一个,当只有 一个可选时会预先填好。
从一个用户处移除某个数据库并不会删除该用户,也不会触及 该数据库。用户保留其密码以及它持有的所有其他数据库。 这正是重点:在这个功能出现之前,撤回访问权的唯一办法是 删除用户,而这会中断每一个仍在用它登录的站点。
使用前值得了解的事
- 访问权一次只授予一个数据库。 用户永远不会获得对服务器的 全面访问权;每次授权都点名你名下的某一个数据库。
- 你可以移除一个数据库的最后一个用户。 没有什么会阻止你,也没有什么会 警告你。数据库及其内容会保留,但在你再次授予某个登录凭据之前, 没有任何登录能触及它——如果某个站点突然报告它 无法连接,这就是修复的办法。
- 名字带有你的账户前缀。 你以
shop创建的数据库在服务器上是youracct_shop,用户app则是youracct_app。在面板里输入 短名,而在你的应用配置里填写完整名字。 - 只能是你自己的数据库和用户。 点名另一个账户的 数据库的授权会被拒绝。撤销也是如此。
从零开始设置一个
- 数据库 → 创建数据库,做两次——例如
site和admin。 - 创建用户并连接(Create user & connect):为用户命名,从下拉框中选择
site。 这就是第一次授权。 - 在新用户所在的行上,点击 添加数据库(Add database),并输入
admin。
在密码显示出来时把它复制下来。面板以一种它无法读回的形式 存储密码,因此丢失的密码是被重置,而非找回——那就是同一行上的 密码(Password)。
当有什么看起来不对时
“No such database for this account.” 名字打错了,或者你输入了 带前缀的形式。请使用上面数据库表中显示的短名。
“No such database user for this account.” 页面上的用户列表 过期了。重新加载它。
应用连得上一个数据库但连不上另一个。 确认该行的
Databases 下同时列出了两者,并且应用使用的是带前缀的
名字(youracct_admin)以及相同的主机——除非你为该用户配置了
远程主机(Remote hosts),否则就是 localhost。
从一台远程机器上看,一次授权似乎没有效果。 在这里添加的授权 适用于本地登录。如果该用户还从一个外部地址连接, 授权后请重新保存它的 远程主机(Remote hosts) 列表,这样远程条目才会 与该用户现在持有的数据库保持同步更新。