【问题标题】:MySQL user with limited admin permission具有有限管理员权限的 MySQL 用户
【发布时间】:2013-07-22 23:14:23
【问题描述】:

我想创建一个 MySQL 用户,该用户可以创建新数据库并仅管理它们(创建/删除表),而不能管理其他模式。 那可能吗?他需要什么许可? 我尝试混合使用 DBDesigner 和 DBManager,但他似乎可以编辑所有内容或什么都不编辑(他的数据库都没有)。

【问题讨论】:

  • AFAIA,只有事先知道用户将创建的数据库的名称才能这样做。

标签: mysql


【解决方案1】:

也许这会有所帮助。看看这个:MySQL RefMan

【讨论】:

    【解决方案2】:

    tester123 替换为PHP 变量或任何您喜欢的用户名和数据库名称。

    将 tester123@ 旁边的 % 替换为您想要的主机名。

    行解释:

    1. 创建用户
    2. 让用户登录但不做任何事情
    3. 创建数据库
    4. 让用户访问这个数据库
    5. 提交更改

    我们开始:

    CREATE USER 'tester123'@'%' IDENTIFIED BY '***';
    
    GRANT USAGE ON * . * TO 'tester123'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
    
    CREATE DATABASE IF NOT EXISTS `tester123` ;
    
    GRANT ALL PRIVILEGES ON `tester123` . * TO 'tester123'@'%';
    
    FLUSH PRIVILEGES;
    

    提示:

    这很容易做到,并由phpMyAdmin 解释,用户 -> 创建用户 -> 授予对以用户命名的数据库的访问权限或<user_*>

    【讨论】:

      【解决方案3】:

      下载 mysql 工作台。在服务器管理器中,您将找到用户/权限。在这里,您可以非常轻松地定制您的用户。

      【讨论】:

      • 问题是“我必须授予用户哪些权限,以便他只能创建和管理自己的数据库,而不能创建和管理其他模式?”
      • 这可以在mysql工作台的用户和权限中完成!
      • “我想创建一个 mysql 用户,它可以创建新数据库并只管理它们(创建/删除表,...),而不能管理其他模式。这可能吗?”
      • 当它应该首先通过命令行完成时,我认为为这样的任务推荐一个工具是不合适的(如果它可能没有编程,在这种情况下是不确定的)
      • 我不同意。工作台工具非常适合此类任务。获得用户有权访问的用户权限和架构的完整概述非常容易。如果您可以降级我的答案,那么您也可以提供更好的答案。
      最近更新 更多