1把你的用户自定义数据库放入一个系统提供的数据库。系统提供的数据库有:db_owner,db_accessadmin,db_securityadmin,db_ddladmin,db_backupoperator,db_datareader,db_datawriter,db_denydatareader和db_denydatawriter。
2把你的用户自定义数据库添加到将作为开发环境的db_datareader和db_datawriter中。如果你已经有一个可以添加和/或删除用户自定义数据库对象的开发环境,你就只需要取消这个权限或是把你的用户自定义数据库添加到db_ddladmin系统数据库中。
3把数据库用户作为数据库成员添加到你的用户自定义数据库中。
4取消所有的公共权限。
不要向公共用户发出DENY命令。如果你向公共用户发出了DENY命令,用户将不能读取用户自定义数据库的对象。用REVOKE命令代替DENY命令来取消读取公共数据库的权限。这样设置后,数据库的用户就是用户自定义数据库的成员了。用户自定义数据库具有读取用户自定义数据库对象的权限。因此这个用户自定义数据库允许数据库用户读取用户自定义数据库的对象。
登录MySQL
[plain] view plain copy print
mysql -u root -p
添加新用户
允许本地 IP 访问 localhost, 127001
[plain] view plain copy print
create user 'test'@'localhost' identified by '123456';
允许外网 IP 访问
[plain] view plain copy print
create user 'test'@'%' identified by '123456';
刷新授权
[sql] view plain copy print
flush privileges;
为用户创建数据库
[sql] view plain copy print
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
为新用户分配权限
授予用户通过外网IP对于该数据库的全部权限
[sql] view plain copy print
grant all privileges on `testdb` to 'test'@'%' identified by '123456';
授予用户在本地服务器对该数据库的全部权限
[sql] view plain copy print
grant all privileges on `testdb` to 'test'@'localhost' identified by '123456';
刷新权限
[sql] view plain copy print
flush privileges;
退出 root 重新登录
[sql] view plain copy print
exit
用新帐号 test 重新登录,由于使用的是 % 任意IP连接,所以需要指定外部访问IP
1、在数据库本机用使用cmd指令调出命令行窗口,再用 sqlplus / as sysdba登录到数据库中。并且用对要赋权限的表所有者连接数据库,否则后续赋权限会失败。
2、创建用户create user test identified by test123;创建test用户,密码设置为test123。
3、授权test用户的连接、资源权限。grant connect,resource to test。
4、指定表授权查询权限。grant select on usertablename to tes。
5、用新建登录数据库进行验证,我们首先来试试delete删除数据的功能,结果报错无法执行,说明我们添加的用户没有删除权限。
6、再来验证select查询功能,顺利查找到指定数据。新建用户并指定查询权限功能实现。同时查询没有赋权限的表,同样被拒。
以上就是关于定义SQL Server数据库用户的权限的方法有哪些全部的内容,包括:定义SQL Server数据库用户的权限的方法有哪些、mysql给用户 创建数据库的权限吗、在SQL2008中新建一个用户,为其指定数据库,需要有所有表查询权限和视图创建权限,应该怎么进行控制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)