1、创建新用户
通过root用户登录之后创建
>> grant all privileges on to testuser@localhost identified by "123456" ;//创建新用户,用户名为testuser,密码为123456 ;
>> grant all privileges on to testuser@localhost identified by "123456" ;//设置用户testuser,可以在本地访问mysql
>> grant all privileges on to testuser@"%" identified by "123456" ; //设置用户testuser,可以在远程访问mysql
>> flush privileges ;//mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
2、设置用户访问数据库权限
>> grant all privileges on test_db to testuser@localhost identified by "123456" ;//设置用户testuser,只能访问数据库test_db,其他数据库均不能访问 ;
>> grant all privileges on to testuser@localhost identified by "123456" ;//设置用户testuser,可以访问mysql上的所有数据库 ;
>> grant all privileges on test_dbuser_infor to testuser@localhost identified by "123456" ;//设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问 ;
3、设置用户 *** 作权限
>> grant all privileges on to testuser@localhost identified by "123456" WITH GRANT OPTION ;//设置用户testuser,拥有所有的 *** 作权限,也就是管理员 ;
>> grant select on to testuser@localhost identified by "123456" WITH GRANT OPTION ;//设置用户testuser,只拥有查询 *** 作权限 ;
>> grant select,insert on to testuser@localhost identified by "123456" ;//设置用户testuser,只拥有查询\插入 *** 作权限 ;
>> grant select,insert,update,delete on to testuser@localhost identified by "123456" ;//设置用户testuser,只拥有查询\插入 *** 作权限 ;
>> REVOKE select,insert ON what FROM testuser//取消用户testuser的查询\插入 *** 作权限 ;
--新增用户
USE [master]
GO
CREATE LOGIN [reader] WITH PASSWORD=N'123456abcdef', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
--ALTER TRACE 用SQL Server Profiler运行权限仅master执行即
USE [master]
GO
GRANT ALTER TRACE TO[reader]
GO
--查看进程权限
GRANT VIEW SERVER STATE TO [reader]
GO
USE [DATABASE] --指定资料库执行
IF EXISTS (SELECT FROM sysdatabase_principals WHERE name = N'reader')
DROP USER [reader]
GO
CREATE USER [reader] FOR LOGIN [reader] --资料库读权限
GO
EXEC sp_addrolemember N'db_datareader', N'reader'
GO
GRANT DELETE ON SCHEMA::[dbo] TO [reader] --数据表数据删除
GO
GRANT UPDATE ON SCHEMA::[dbo] TO [reader] --数据表数据更新
GO
GRANT INSERT ON SCHEMA::[dbo] TO [reader] --数据表数据插入
GO
GRANT EXECUTE ON SCHEMA::[dbo] TO [reader] --exec执行存储程
GO
GRANT VIEW DEFINITION ON SCHEMA::[dbo] TO [reader] --查看视图、存储程脚本定义内容
GO
GRANT ALTER ON SCHEMA::[dbo] TO [reader] --象更改ALTER、卸载DROP
GO
GRANT CREATE VIEW TO [reader] --创建视图
GO
GRANT CREATE PROCEDURE TO [reader] --创建存储程
GO
--取消 ALTER TRACE权限
USE [master]
GO
REVOKE ALTER TRACE TO[reader]
GO
--取消 查看进程权限
REVOKE VIEW SERVER STATE TO [reader]
GO
USE [DATABASE]
GO
REVOKE DELETE ON SCHEMA::[dbo] TO [reader] --取消数据表数据删除
GO
REVOKE UPDATE ON SCHEMA::[dbo] TO [reader] --取消数据表数据更新
GO
REVOKE INSERT ON SCHEMA::[dbo] TO [reader] --取消数据表数据插入
GO
REVOKE EXECUTE ON SCHEMA::[dbo] TO [reader] --取消exec执行存储程
GO
REVOKE VIEW DEFINITION ON SCHEMA::[dbo] TO [reader] --取消查看视图、存储程脚本定义内容
GO
REVOKE ALTER ON SCHEMA::[dbo] TO [reader] --取消象更改ALTER、卸载DROP
GO
REVOKE CREATE VIEW TO [reader] --取消创建视图
GO
REVOKE CREATE PROCEDURE TO [reader] --取消创建存储程
GO
--删除登入用户
USE [master]
GO
DROP LOGIN [reader]
GO
--删除指定资料库用户
USE [DATABASE]
GO
DROP USER [reader]
GO
--需要权限应增加删除即
sybase数据库的用户,包含两个层面:一个是登陆号,另一个是具体DB的用户,我们登陆时,使用的是登录号,但是这个登录号可以 *** 作哪些DB及 *** 作权限则取决于数据库用户。一般情况下,我们可以采取相同的名字来表示登录号和数据库用户。
首先创建一个登陆号:
sp_addlogin
loginame,
passwd
loginame
登录名
passwd
密码
全部语法(一般不用到)为:
sp_addlogin
loginame,
passwd
[,
defdb]
[,
deflanguage
]
[,
fullname
]
[,
passwdexp
]
[,
minpwdlen
]
[,
maxfailedlogins
]
然后创建用户:
sp_adduser
loginame
这样创建当前数据库的用户,且用户名和登陆名是一样的。
全部语法为:
[dbname]sp_adduser
loginame
[,
username[,
grpname]]
最后分配权限:
grant
all
|
select,insert,delete,update
on
table_name
|
view_name
|
stored_procedure_name
to
username
或
grant
all
|
create
database,create
default,create
procedure,create
rule,create
table,create
view,set
proxy,set
session
authorization
to
username
例,假如当前DB为:DB001:
sp_addlogin
'test001','password001'
go
sp_adduser
'test001',
'user001'
go
grant
create
table
to
user001
go
创建了一个test001的登录名,之后为之创建一个当前数据库的用户,使这个登录名可以 *** 作当前数据库。之后分配了创建表的权限给user001。
这个时候你就可以使用用户名'test001'和密码'password001'登陆了,并且可以在DB001中创建表了。同时由于sp_adduser
的时候没有指定grpname参数,那么默认是public用户组,这个组里的用户默认即开通了select/delete/update/insert的权限。
如果你希望去掉一些权限,请使用revoke命令,其语法了grant完全相同,你只需要将grant换成revoke即可,例:
revoke
select
on
address
to
user001
禁止user001查看address表。
一、新建登录名
1 在登录名右侧的文本框中输入新建的管理员账号名称;
2 一对单选按钮组中,选择Sql Server 身份验证,并输入登录密码;
3 勾选强制实施密码策略复选框;(密码策略一般是指加强用户登录的密码方式例如:可能需要至少8个以上字符,或在尝试若干登陆失败后该账号即被禁止登陆等等!如果觉得麻烦可以不必勾选!)
4 不勾选强制密码过期;(如果勾选该项的话,则每一次登陆后系统都会提示用户必须更改现有密码,如非特殊需求,不建议勾选此项!)
二、设置管理员权限
进入服务器角色在右侧的服务器角色面板中,勾选public 和sysadmin 两项!
如下图:
注意:如果建立的账号不需要具备系统管理员的权限时,则不要勾选sysadmin 项!
三、设置非管理员权限
进入用户映射在右侧的面板中勾选该账号可以进行管理 *** 作的数据库名称!并在该面板下面的数据库角色成员身份中勾选db_owner 项!
如下图:
注意:如果给一个无系统管理权限的账号指定管理一个数据库时,则一定要勾选db_owner 项!否则该账号则无法看到该数据库中的任何数据表!
进入状态设置连接引擎授权;
三、无法登陆情况
请检查数据库属性页安全性是否启用 SQL Server 和 windows 验证模式;
1,用Windows 身份验证方式或 sa用户 连接服务器,打开安全性 → 右击登录名 → 新建登录名
2,常规
Step1 : 输入账户名,密码 ;
Step2 : 去掉密码策略的勾 ;
Step3 : 根据需要选择默认数据库,默认语言 ;
3,服务器角色
4,用户映射
Step1 : 勾选映射的数据库,即该用户可以访问的数据库,这边实际上就是一个对数据库访问权限的控制 ;
Step2 : 勾选数据库角色成员身份,这边实际上就是一个对数据库 *** 作权限的控制,这边设成db_datereader 就是只读的权限;
5,安全对象、状态 默认即可,可以不设置。如有特殊需要再去设置。 点击确定完成,新用户名way就生成了。
mysql数据库用户的权限如何设置考虑到数据库的安全在将数据库的登录名和密码给别人时我们通常都需要为用户设置数据库的权限,那么mysql数据库用户的权限如何设置呢小编为大家带来了用phpmyadmin设置数据库权限的方法。
一、首先您需要安装配置phpMyAdmin到您的服务器
安装好以后,来到 phpMyAdmin 的首页
二、创建好的用户,点击上图上的权限后,可以看到添加新用户
点击“添加新用户”添加一个新的数据库用户名
如下图所示:
三、权限设置
编辑这个用户的权限
如下图所示:
其中增加用户的同时也可以填写用户的权限,也可以添加完用户以后再编辑用户的权限
下面对这些权限进行详细的描述:
1、数据部分
SELECT:是指允许读取数据
INSERT:是指允许插入和替换数据
UPDATE:是指允许更改数据
DELETE:是指允许删除数据
FILE:是指允许从数据中导入数据,以及允许将数据导出至文件
2、结构部分
CTEATE:允许创建新的数据库和表
ALTER:允许修改现有表的结构
INDEX:允许创建和删除索引
DROP:允许删除数据库和表
CREATE TEMPORARY TABLES:允许创建暂时表
CREATE VIEW:允许创建新的视图
SHOW VIEW:允许查询试图
CREATE ROUTINE:允许创建新的存储过程
ALTER ROUTINE:允许修改存储过程
EXECUTE:允许执行查询
管理和资源限制这里不详细说明了,一般是管理员 root 帐号全部有的权限,上面所讲的是普通的用户权限。
四、重新加载授权表
修改完用户权限以后需要回到首页,重新加载一下授权
以上就是关于如何设置mysql用户的权限全部的内容,包括:如何设置mysql用户的权限、如何为SQL Server2008添加登录账户并配置权限、如何设置sybase数据库的用户权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)