MySQL,权限问题

时间:2009-11-18 05:20:20

标签: mysql permissions navicat

我有一个MySQL数据库,其中包含多个由多个Web应用程序使用的数据库。

我现在需要创建一个只能通过新用户帐户访问的新数据库。我一直在使用Navicat v5.3.3管理用户尝试设置它但它似乎不起作用我不知道是不是MySQL或Navicat。

但鉴于我想要一个新帐户,新帐户只能访问(而不是其他dbs),最好的设置方式是什么?

由于

2 个答案:

答案 0 :(得分:2)

您只需要创建数据库并向用户授予所需的权限,您应该启动一个mysql查询工具并输入以下查询:

CREATE DATABASE foobar;
GRANT ALL PRIVILEGES ON foobar.* TO 'foobar_user'@'localhost'
IDENTIFIED BY 'goodsecret';

您可以查看MySQL手册here

答案 1 :(得分:1)

我通常使用phpMyAdmin或MySQL命令行界面。 创建数据库并(使用您的超级用户帐户),确保用户对该数据库具有适当的权限。

类似的东西:

CREATE DATABASE database_name;
GRANT ALL ON database_name.* TO new_user@'localhost' IDENTIFIED BY 'password';

这将赋予'new_user'对database_name内容的所有权限,前提是用户使用'password'从localhost连接。

如果你想要一个GUI - 我强烈推荐phpMyAdmin(http://www.phpmyadmin.net/

编辑:根据您的描述,您还需要确保设置其他数据库的权限以防止此新用户访问它们;你可以使用'SHOW GRANTS'来查看哪些用户拥有哪些表的权限 - 请参阅http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug