如何使一个MySQL用户只访问一个模式
我搜索了很多关于“如何只允许一个用户访问一个模式”的内容,但没有找到任何令人信服的解决方案。我读过关于如何使一个MySQL用户只访问一个模式,mysql,permissions,Mysql,Permissions,我搜索了很多关于“如何只允许一个用户访问一个模式”的内容,但没有找到任何令人信服的解决方案。我读过关于GRANT和REVOKE的内容,但发现了一些解决方案,如为特定用户授予或撤销特定表上的权限 我要寻找的是,当有多个用户时,每个用户都可以访问定义的模式,一个用户将拥有对一个模式的完全访问权限。 我不想让一个用户访问另一个模式,除了授予访问权限的用户 请建议如何准确地使用授权或撤销来执行此操作? 将您的特定模式的所有访问权授予特定 从特定的IP地址(在本例中为xxx.xxx.xxx.xxx)命名为
GRANT
和REVOKE
的内容,但发现了一些解决方案,如为特定用户授予或撤销特定表上的权限
我要寻找的是,当有多个用户时,每个用户都可以访问定义的模式,一个用户将拥有对一个模式的完全访问权限。
我不想让一个用户访问另一个模式,除了授予访问权限的用户
请建议如何准确地使用授权
或撤销
来执行此操作?- 将您的
特定模式的所有访问权授予特定 从特定的
IP地址(在本例中为xxx.xxx.xxx.xxx)命名为
用户名的用户:
将您的_特殊_模式的所有特权。*授予“用户名”@“xxx.xxx.xxx.xxx”,由带有授予选项的“密码”标识代码>
- 将您的
特定模式的所有访问权授予特定
来自任何IP地址的名为用户名的用户(使用通配符%)
:
将您的_特定_架构。*上的所有权限授予“用户名”@“%”,由带有授予选项的“密码”标识代码>
- 将所有
模式的所有访问权授予特定的
从特定的IP地址(在本例中为1.2.3.4)命名为用户名的用户:
将**上的所有权限授予“用户名”@“1.2.3.4”,该用户名由带有授予选项的“密码”标识代码>
- 将所有
模式的所有访问权授予特定的
来自任意IP地址的名为用户名的用户(使用通配符%)
:
将**上的所有权限授予“用户名”@“%”,该用户名由带有授予选项的“密码”标识代码>
注意:您的情景发生在前两种情况中。您可以根据自己的选择选择其中的任何一个
编辑:如果要从以前被授予特权的用户中删除特权,请使用命令
REVOKE删除特权,但不删除mysql.user表项。
要完全删除用户帐户,请使用DROP user
谢谢第二个选择对我很有效<代码>授予您的_特定_架构上的所有权限。*给“用户名”@“%”,由带有授予选项的“密码”标识代码>这帮助我创建了两个不同的用户,他们有权访问两个数据库,并且不会影响彼此的数据库结构。当尝试使用用户1登录数据库2时,出现了拒绝访问
错误。这正是我们所需要的。很高兴听到它起作用了。不客气:)@MandarPandit