【问题标题】:Assign an existing user to mysql databases将现有用户分配给 mysql 数据库
【发布时间】:2014-04-07 14:49:09
【问题描述】:

我已经在 phpMyAdmin 中成功创建了多个数据库。我现在想通过在 SQL 选项卡上运行脚本来为所有这些新数据库分配一个现有用户 + 相应的密码。

请您确认我需要运行什么脚本,或者如果有更简单的脚本可以通过 root 访问运行,请确认 root-command 吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用授予权限命令。

    如果您的数据库被称为“newDatabase”并且您的用户名为“newUser”,则授予对其中包含的所有表的所有权限的命令是:

    GRANT ALL PRIVILEGES ON `newDatabase`.* TO 'newUser'@'localhost';
    

    这将限制用户只能从 localhost 访问数据库,以启用从所有主机的访问将 localhost 更改为 '%'

    然后您需要使用以下命令刷新权限:

    FLUSH PRIVILEGES;
    

    编辑:

    要为 mysql 服务器上的每个数据库授予权限,请使用以下命令(注意 *.*):

    GRANT ALL PRIVILEGES ON *.* TO 'newUser'@'localhost';
    

    【讨论】:

    • 您好,非常感谢您的快速回复!这是根命令吗?我正在尝试使用 Putty 执行它,但它无法识别该命令。此外,是否有一个全局单一命令可以一次更改所有数据库? (我需要将用户添加到256个数据库)
    • 如何打开mysqld程序?
    • 我删除了该评论,因为它完全错误,您需要 mysql 管理控制台,这个问题应该会有所帮助。 (stackoverflow.com/questions/6200215/…)
    • 非常感谢您的更新!我设法使用 Putty 访问了 mysql admin,它返回了以以下开头的行:mysql> 但是,当我运行命令脚本时,弹出以下消息:-> ERROR 1045 (28000): Access denied for user 'dboco_user1'@'localhost' (使用密码:YES)
    【解决方案2】:
    GRANT SELECT, INSERT, INDEX ON `db_name`.* TO 'user'@'%';
    

    根据需要更改 SELECT、INSERT、INDEX

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 1970-01-01
      • 2019-11-30
      • 2018-01-08
      • 2019-04-22
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      相关资源
      最近更新 更多