gpt4 book ai didi

mysql - 当我无法创建新的 MySQL 用户时,如何让某人只能访问某些 MySQL 表?

转载 作者:行者123 更新时间:2023-11-29 10:21:43 24 4
gpt4 key购买 nike

我正在寻找以下最佳解决方案:

  1. 我需要让某人通过 PhpMyAdmin 或类似工具访问我的 MySQL 服务器上的一个(众多)特定数据库。

  2. 我无法创建新的 MySQL 用户帐户。

  3. 因此,我正在考虑创建一个隐藏的用户名和密码(凭据可能存储在某个表中,甚至直接存储在 PMA 周围的 PHP 中),我的某人将用它登录 PMA。

  4. PMA 将使用安全存储的真实用户名和密码来连接到我的 MySQL 服务器。但我的某人永远不会看到实际的数据库用户名和密码。他只能看到并能够编辑我服务器上指定数据库内的表。

这可以以某种方式实现吗?谢谢!

最佳答案

PMA 对此有一个配置。

$cfg['Servers'][$i]['only_db']

请参阅文档:https://docs.phpmyadmin.net/en/latest/config.html

但这不会限制用户的权限。它仅使用户界面向用户显示有限的数据库子集。如果他们知道某些其他数据库的名称(或者可以从 INFORMATION_SCHEMA.SCHEMATA 查询它们),他们仍然可以访问这些数据库。

如果您只想对少数数据库强制执行权限,则必须创建一个不同的 MySQL 用户并使用 GRANT 限制其权限。 .

<小时/>

回复您的评论:

听起来您需要将 MySQL 凭据存储在 PMA 配置文件中(并将 $cfg['Servers'][$i]['auth_type'] 设置为“config”)。然后,您可以使用 Apache HTTP 身份验证来限制对 PMA 站点(或目录)的访问,并且可以在 Apache 级别创建多个用户凭据。

关于mysql - 当我无法创建新的 MySQL 用户时,如何让某人只能访问某些 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49163536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com