0

我有一个 MySQL 数据库,其中有多个数据库被超过 1 个 Web 应用程序使用。

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

但是鉴于我想要一个新帐户只能访问(而不是其他数据库)的新数据库,那么设置它的最佳方法是什么?

谢谢

4

2 回答 2

2

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

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

您可以在这里查看 MySQL 手册

于 2009-11-18T05:26:52.397 回答
1

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

就像是:

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

这将为“new_user”提供对 database_name 内容的所有权限,前提是该用户使用“密码”从 localhost 连接。

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

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

于 2009-11-18T05:26:01.243 回答