如何让mysql新建的用户只对自己创建的数据库拥有权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让mysql新建的用户只对自己创建的数据库拥有权限相关的知识,希望对你有一定的参考价值。

用户对哪一个数据库有操作权限,是要用root用户进行授权的。
创建用户:
CREATE USER'username'@'host' IDENTIFIED BY 'password';
其中username 是用户名,host是可以进行远程访问数据库的服务器地址。

给用户授权:
GRANT privileges ONdatabasename.tablename TO 'username'@'host';
给'username'@'host'用户进行授权,其中privileges是要授予的权限,可以是all privileges、select、update等。databasename.tablename是要访问的某个数据库中的某张表,如果是所有的,则可以用*。
参考技术A 允许外网 IP 访问
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
create user 'test'@'%' identified by '123456';

刷新授权
[sql] view plain copy 在CODE上查看代码片派生到我的代码片
flush privileges;

用户如何让其他用户操作自己的表

用户如何让其他用户操作自己的表?

方法一:给予其他用户对表的操作权限

大家习惯上使用方法一,但是方法一需要其他用户在操作表数据的时候在表的前面加上schema,比较麻烦。

问题来了,如何在不需要添加schema的情况下让其他用户操作表数据?

方法二:表的拥有者创建表的公共同义词,并把同义词的操作权限赋予其他用户,其他用户即可以对表的数据进行操作。(create public synonym syn_test for tablename;)

表的拥有者需要有创建公共同义词的权限,使用sys管理员给用户赋予create public synonym的权限。

grant create public synonym to username;

 

以上是关于如何让mysql新建的用户只对自己创建的数据库拥有权限的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 创建权限较小的用户(只对特定数据库有操作权限)

用户如何让其他用户操作自己的表

sticky bit权限简介

MySql 新建用户与数据库的实际操作步骤

MySQL 数据库用户和权限管理

如何新建mysql数据库