MySQL 多数据库设置

标签 mysql database phpmyadmin multiple-databases

我已经寻找了这个问题的答案,我似乎能找到的只是询问是使用多个数据库还是在单个数据库中使用多个表更好的问题。但这不是我的问题。

问题 1.
我想在当前数据库旁边设置一个新数据库,但不知道如何操作。我想授予用户对 DB2 的完全管理员访问权限,而无需看到 DB1。这样我就可以托管 friend 的网站,他们可以创建和删除任意数量的表,而不会干扰我自己的数据库。我还可以将它用于不安全且不应该存在于我的主数据库中的演示网站。

我认为我可以使用虚拟机轻松完成此操作并运行单独的 MySQL 实例,但我的资源有限,因此这并不是一个真正的选择。

我想通过两种方式之一进行设置。我希望让“server.example.com”托管两个数据库并根据用户登录打开正确的数据库。如果没有,我可以将其路由到 server1.example.com 和 server2.example.com 。

问题 2.
如果这是不可能的,我想知道如何在续集专业版中正确设置对单个数据库的限制访问。我一直在摆弄它,到目前为止我更喜欢它而不是 PHPMyAdmin。由于某种原因,如果我设置一个没有权限的新用户,他们可以完全访问我的“information_schema”和“test”表,但无法创建新表。但我不希望其他用户访问这些表,并且我希望他们能够设置自己的表。我想对其进行设置,以便新用户可以创建有限数量的表,并且只能查看和编辑这些表。我似乎也找不到这方面的信息。

即使我的第一个问题是可能的,我也想知道问题2的答案。我已经搜索了很长时间,但在任何地方都找不到可靠的信息。也许我的大脑只是累了......

最佳答案

您可以设置多个 mysql 实例,但根据您的情况,最好在同一实例中创建不同的数据库。

您可以创建数据库,然后添加仅有权操作为其指定的数据库而无权执行其他操作的用户。

基本上,层次结构如下:

Mysql (root or any other super user can see everything)
- Your DB
  - Your Users
    - Your tables/functions/Procedures/etc
- Their DB
  - Their Users
    - Their tables/functions/procedures/etc.

您基本上将每个访问权限分开,在 PHPMyAdmin 中这非常容易。步骤是:

  1. 添加数据库 enter image description here )
  2. 添加用户,将其限制为该数据库,仅允许您授予该用户且仅授予该数据库的权限。 (Guide here)

关于MySQL 多数据库设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808272/

相关文章:

php - 使用url检索图片出错

python - 我怎样才能修复这个错误

mysql - 搜索 MySQL 中的哪些表包含带有空 ENUM 的行

php - 从一个表中选取行,但 where 语句条件在另一表中

mysql - 一个查询中的多个 INSERT INTO 语句

php上传图片失败

mysql - 当 WHERE 子句与该列进行比较时,不使用 TIMESTAMP 列上的索引

mySQL-如何使用 INNER JOIN 显示所有联系人及其状态

MySQL 如果没有找到则插入

php - 如果我使用终端在 MySQL 中创建一个数据库,它应该显示在我的 PhpMyAdmin 数据库下吗?