澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:权限设置,用户管理与权

2019-06-08 作者:数据库网络   |   浏览(59)

权限管理

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作:

1.进入到mysql数据库下

mysql> use mysql
Database changed

2.对新用户增删改

澳门新萄京官方网站 1

1.创建用户:
# 指定ip:192.118.1.1的mjj用户登录
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.开头的mjj用户登录
create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj用户登录
create user 'mjj'@'%' identified by '123';

2.删除用户
drop user '用户名'@'IP地址';


3.修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

4.修改密码
set password for '用户名'@'IP地址'=Password('新密码');

5,查看mysql中的所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

6,查看user表结构 需要具体的项可结合表结构来查询
 desc mysql.user;

澳门新萄京官方网站 2

 

3.对当前的用户授权管理

澳门新萄京官方网站 3

#查看权限
show grants for '用户'@'IP地址'

#授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "mjj"@'%';

# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "mjj"@'%';
#mjj用户对db1数据库中的文件执行任何操作

grant all privileges  on db1.* to "mjj"@'%';
#mjj用户对所有数据库中文件有任何操作

grant all privileges  on *.*  to "mjj"@'%';

 

#取消权限

 

# 取消mjj用户对db1的t1文件的任意操作
revoke all on db1.t1 from 'mjj'@"%";  

# 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限

revoke all on db1.* from 'mjj'@"%";  

取消来自远程服务器的mjj用户所有数据库的所有的表的权限
revoke all privileges on *.* from 'mjj'@'%';

澳门新萄京官方网站 4

ps:在公司中,一般情况下是DBA工程师来做这些授权工作。给你一个用户名和密码,你来连接就可以了。

 

 

4.MySql备份命令行操作

澳门新萄京官方网站 5

# 备份:数据表结构 数据
mysqldump -u root db1 > db1.sql -p


# 备份:数据表结构
mysqldump -u root -d db1 > db1.sql -p

#导入现有的数据到某个数据库
#1.先创建一个新的数据库
create database db10;
# 2.将已有的数据库文件导入到db10数据库中
mysql -u root db10 < db1.sql -p

澳门新萄京官方网站 6

Oracle 用户管理与权限控制

oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。 
  每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。 

ORACLE中数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,
许多数据字典视图包含相似的信息。

USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息。
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息。
DBA_*:有关整个数据库中对象的信息。 

1.远程登录mysql

1.远程登录mysql

在mysql数据库的使用中,创建数据库无疑是最简单的部分:在mysql命令提示符下,输入如下命令:mysql > create databass dbname;//dbname数据库名称

一、用户管理

mysql -h ip -u root -p 密码

mysql -h ip -u root -p 密码

创建成功后会有如下的所示的响应:

1、查询用户

select username from dba_users;

查询所有用户

select * from all_users

查询当前用户信息:

select * from user_users

结果:

澳门新萄京官方网站 7

系统用户:

sys;//系统管理员,拥有最高权限

system;//本地管理员,次高权限

scott;//普通用户,密码默认为tiger,默认未解锁

 

2.创建用户

2.创建用户

Query OK,1 row affected (0.0 sec)

2、创建用户

create user username identified by password;

username: 用户名,自定义

password: 密码,自定义

 

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

如果没有得到响应,请确认在上面的命令行后面输入分号。

3、删除用户

drop user username;

如果用户已经拥有自己的对象,则需要使用:cascade(级联)。可以强制删除用户的所有对象,然后删除用户。

drop user username cascade;

例1:增加一个test1用户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

例1:增加一个test1用户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

mysql的最好特性之一是支持复杂的权限系统。权限是对特定对象执行特定的操作的权利,它与特定的用户相关。由此我们在使用mysql系统的时候,对于每个需要使用该系统的用户,应该为他们创建一个账号和密码,这些用户名及密码不必与mysql之外的用户名和密码(unix等用户名,密码)相同。对于系统用户或者mysql用户最好使用不同的密码。

二、权限管理

mysql>grant select,insert,update,delete on *.* to test1@”%” identified by “123456″;

mysql>grant select,insert,update,delete on *.* to test1@”%” identified by “123456″;

在mysql中创建一个用户时,就赋予了该用户一定的权限,这些权限指定了该用户在本系统中可以做什么和不可以做什么。

1、授权

将权限授权给某个用户。

基本用法:

grant  权限   to  用户

授权dba

grant dba to username

示例:

澳门新萄京官方网站 8

授权连接和资源

grant connect,resource to demo;   //授权连接、资源

授权可创建session,可以在服务器上进行连接

grant create session to demo;

应用测试:

澳门新萄京官方网站 9

 

授权创建、查询、更新、删除表的权限:

grant create any table to demo; //创建表

grant drop any table to demo; //删除表

grant alter any table to demo; //修改表

授权执行存储过程:

grant execute any procedure to demo

 

授权数据权限:

grant insert any table to demo; //增加数据

grant delete any table to demo; //删除数据

grant update any table to demo; //更新数据

grant select any table to demo; //查询数据

授权具体的表权限:

grant select on demo.students on demo; //将查询students的权限授权给demo

grant update on demo.students to demo;

 

mysql>flush privileges;

mysql>flush privileges;

在创建用户的时候使用GRANT命令来授予mysql权限。这些权限分为四个级别:全局,数据库,表,列。

2、撤销权限

revoke

基本用法:

revoke  权限  from  用户

撤销dba权限

revoke dba from demo;

撤销连接取取权限

revoke connect from demo

撤销创建表权限

revoke create any table from demo;

撤销某表的权限

revoke all on demo.students from demo;

例2:增加一个test2用户,密码为123456,只能在192.168.2.12上登录,并对数据库student有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

例2:增加一个test2用户,密码为123456,只能在192.168.2.12上登录,并对数据库student有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

mysql中授权命令grant用法详解:
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.*澳门新萄京官方网站, to common_user@’%’
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@’%’

 3、查询各种权限

查询系统所有权限

select * from system_privilege_map

查询所有对象权限

select * from table_privilege_map

查询角色拥有的权限

select * from role_sys_privs;

 

select * from role_tab_privs 

 

查询用户系统权限

select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;

查询用户对象权限

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

 

mysql>grant select,insert,update,delete on student.* to test2@192.168.2.12 identified by “123456″;

mysql>grant select,insert,update,delete on student.* to test2@192.168.2.12 identified by “123456″;

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 MySQL 数据表结构权限。
grant create on testdb.* to developer@’192.168.0.%’;
grant alter on testdb.* to developer@’192.168.0.%’;
grant drop on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 外键权限。
grant references on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 临时表权限。
grant create temporary tables on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 索引权限。
grant index on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 视图、查看视图源代码 权限。
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 存储过程、函数 权限。
grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status
grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure
grant execute on testdb.* to developer@’192.168.0.%’;

三、角色

  Oracle为了兼容以前的版本,提供了三种标准的角色(role):connect、resource和dba。
  1. connect role(连接角色)
  临时用户,特别是那些不需要建表的用户,通常只赋予他们connectrole。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。
  2. resource role(资源角色)
  更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
  3. dba role(数据库管理员角色)
  dba role拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。

1、创建角色

create role backer

2、授权

grant select any table to backer

3、撤销

revoke update any table from backer

4、分配角色,将角色权限授予给用户

grant backer to demo

5、将角色权限授予其他角色

grant backer to backer2

6、删除角色

drop role backer2

示例:

澳门新萄京官方网站 10

查询所有角色

select * from dba_roles

查询结果

澳门新萄京官方网站 11

查看当前用户角色

select * from role_sys_privs

查看当前用户管理的角色

select * from user_role_privs

澳门新萄京官方网站 12

 

select * from dba_role_privs

 

mysql>flush privileges;

mysql>flush privileges;

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。
grant all privileges on testdb to dba@’localhost’
其中,关键字 “privileges” 可以省略。

例3:授权用户test3拥有数据库student的所有权限

例3:授权用户test3拥有数据库student的所有权限

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant all on *.* to dba@’localhost’

mysql>grant all privileges on student.* to test3@localhost identified by ’123456′;

mysql>grant all privileges on student.* to test3@localhost identified by ’123456′;

五、MySQL grant 权限,分别可以作用在多个层次上。

mysql>flush privileges;

mysql>flush privileges;

  1. grant 作用在整个 MySQL 服务器上:
    grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
    grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
  2. grant 作用在单个数据库上:
    grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
  3. grant 作用在单个数据表上:
    grant select, insert, update, delete on testdb.orders to dba@localhost;
  4. grant 作用在表中的列上:
    grant select(id, se, rank) on testdb.apache_log to dba@localhost;
  5. grant 作用在存储过程、函数上:
    grant execute on procedure testdb.pr_add to ’dba’@’localhost’
    grant execute on function testdb.fn_add to ’dba’@’localhost’

3.修改用户密码

3.修改用户密码

六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for dba@localhost;

mysql>update mysql.user set password=password(’123456′) where User=’test1′ and Host=’localhost’;

mysql>update mysql.user set password=password(’123456′) where User=’test1′ and Host=’localhost’;

七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

mysql>flush privileges;

mysql>flush privileges;

八、MySQL grant、revoke 用户权限注意事项

4.删除用户

4.删除用户

  1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
  2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
    grant select on testdb.* to dba@localhost with grant option;
    这个特性一般用不到。实际中,数据库权限最好统一管理

mysql>delete from user where user=’test2′ and host=’localhost’;

mysql>delete from user where user=’test2′ and host=’localhost’;

 

mysql>flush privileges;

mysql>flush privileges;

在登录mysql系统后,要做的第一件事是指定要使用的数据库。即:

5.删除数据库和删除表

5.删除数据库和删除表

mysql > use dbname;//dbname是数据库的名称

mysql>drop database 数据库名;

mysql>drop database 数据库名;

或者也可以在登录时指定数据库而避免使用命令:

mysql>drop table 表名;

mysql>drop table 表名;

mysql -D dbname -h hostname -u username -p.

6.删除账户及权限

6.删除账户及权限

drop user 用户名@’%’

drop user 用户名@’%’

drop user 用户名@localhost

drop user 用户名@localhost

**************************************************************************************

**************************************************************************************

grant 详细解析如下:

grant 详细解析如下:

**************************************************************************************

**************************************************************************************

MySQL 赋予用户权限命令的简单格式可概括为:

MySQL 赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

grant 权限 on 数据库对象 to 用户

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@’%’

grant select on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@’%’

或者,用一条 MySQL 命令来替代:

或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to common_user@’%’

grant select, insert, update, delete on testdb.* to common_user@’%’

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to developer@’192.168.0.%’;

grant create on testdb.* to developer@’192.168.0.%’;

grant alter on testdb.* to developer@’192.168.0.%’;

grant alter on testdb.* to developer@’192.168.0.%’;

grant drop on testdb.* to developer@’192.168.0.%’;

grant drop on testdb.* to developer@’192.168.0.%’;

grant 操作 MySQL 外键权限。

grant 操作 MySQL 外键权限。

grant references on testdb.* to developer@’192.168.0.%’;

grant references on testdb.* to developer@’192.168.0.%’;

grant 操作 MySQL 临时表权限。

grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to developer@’192.168.0.%’;

grant create temporary tables on testdb.* to developer@’192.168.0.%’;

grant 操作 MySQL 索引权限。

grant 操作 MySQL 索引权限。

grant index on testdb.* to developer@’192.168.0.%’;

grant index on testdb.* to developer@’192.168.0.%’;

grant 操作 MySQL 视图、查看视图源代码 权限。

grant 操作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to developer@’192.168.0.%’;

grant create view on testdb.* to developer@’192.168.0.%’;

grant show view on testdb.* to developer@’192.168.0.%’;

grant show view on testdb.* to developer@’192.168.0.%’;

grant 操作 MySQL 存储过程、函数 权限。

grant 操作 MySQL 存储过程、函数 权限。

grant create routine on testdb.* to developer@’192.168.0.%’; — now, can show procedure status

grant create routine on testdb.* to developer@’192.168.0.%’; — now, can show procedure status

grant alter routine on testdb.* to developer@’192.168.0.%’; — now, you can drop a procedure

grant alter routine on testdb.* to developer@’192.168.0.%’; — now, you can drop a procedure

grant execute on testdb.* to developer@’192.168.0.%’;

grant execute on testdb.* to developer@’192.168.0.%’;

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

grant all privileges on testdb to dba@’localhost’

grant all privileges on testdb to dba@’localhost’

其中,关键字 “privileges” 可以省略。

其中,关键字 “privileges” 可以省略。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

grant all on *.* to dba@’localhost’

grant all on *.* to dba@’localhost’

五、MySQL grant 权限,分别可以作用在多个层次上。

五、MySQL grant 权限,分别可以作用在多个层次上。

  1. grant 作用在整个 MySQL 服务器上:
  1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to dba@localhost; — dba 可以查询 MySQL 中所有数据库中的表。

grant select on *.* to dba@localhost; — dba 可以查询 MySQL 中所有数据库中的表。

grant all on *.* to dba@localhost; — dba 可以管理 MySQL 中的所有数据库

grant all on *.* to dba@localhost; — dba 可以管理 MySQL 中的所有数据库

  1. grant 作用在单个数据库上:
  1. grant 作用在单个数据库上:

grant select on testdb.* to dba@localhost; — dba 可以查询 testdb 中的表。

grant select on testdb.* to dba@localhost; — dba 可以查询 testdb 中的表。

  1. grant 作用在单个数据表上:
  1. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to dba@localhost;

grant select, insert, update, delete on testdb.orders to dba@localhost;

  1. grant 作用在表中的列上:
  1. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

  1. grant 作用在存储过程、函数上:
  1. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to ‘dba’@’localhost’

grant execute on procedure testdb.pr_add to ‘dba’@’localhost’

grant execute on function testdb.fn_add to ‘dba’@’localhost’

grant execute on function testdb.fn_add to ‘dba’@’localhost’

六、查看 MySQL 用户权限

六、查看 MySQL 用户权限

查看当前用户(自己)权限:

查看当前用户(自己)权限:

show grants;

show grants;

查看其他 MySQL 用户权限:

查看其他 MySQL 用户权限:

show grants for dba@localhost;

show grants for dba@localhost;

七、撤销已经赋予给 MySQL 用户权限的权限。

七、撤销已经赋予给 MySQL 用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

澳门新萄京官方网站:权限设置,用户管理与权力调节。revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

grant all on *.* to dba@localhost;

grant all on *.* to dba@localhost;

revoke all on *.* from dba@localhost;

revoke all on *.* from dba@localhost;

八、MySQL grant、revoke 用户权限注意事项

八、MySQL grant、revoke 用户权限注意事项

  1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

  2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

  1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

  2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

grant select on testdb.* to dba@localhost with grant option;

grant select on testdb.* to dba@localhost with grant option;

这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

Category: Post

Category: Post

You can follow any responses to this entry via RSS.

You can follow any responses to this entry via RSS.

Comments are currently closed, but you can trackback from your own site.

Comments are currently closed, but you can trackback from your own site.

=========================================================================

=========================================================================

1.创建用户并授权

1.创建用户并授权

grant语句的语法:

grant语句的语法:

grant privileges (columns) on what to user identified by “password” with grant option

grant privileges (columns) on what to user identified by “password” with grant option

要使用该句型,需确定字段有:

要使用该句型,需确定字段有:

privileges 权限指定符权限允许的操作

privileges 权限指定符权限允许的操作

alter 修改表和索引

alter 修改表和索引

create 创建数据库和表

create 创建数据库和表

delete 删除表中已有的记录

delete 删除表中已有的记录

drop 抛弃(删除)数据库和表

drop 抛弃(删除)数据库和表

index 创建或抛弃索引

index 创建或抛弃索引

insert 向表中插入新行

insert 向表中插入新行

reference 未用

reference 未用

select 检索表中的记录

select 检索表中的记录

update 修改现存表记录

update 修改现存表记录

file 读或写服务器上的文件

file 读或写服务器上的文件

process 查看服务器中执行的线程信息或杀死线程

process 查看服务器中执行的线程信息或杀死线程

reload 重载授权表或清空日志、主机缓存或表缓存。

reload 重载授权表或清空日志、主机缓存或表缓存。

shutdown 关闭服务器

shutdown 关闭服务器

all 所有;

all 所有;

all privileges同义词

all privileges同义词

usage 特殊的“无权限”权限

usage 特殊的“无权限”权限

以上权限分三组:

以上权限分三组:

第一组:适用于数据库、表和列如:alter create delete drop index insert select update

第一组:适用于数据库、表和列如:alter create delete drop index insert select update

第二组:数管理权限 它们允许用户影响服务器的操作 需严格地授权 如:file process reload shut*

第二组:数管理权限 它们允许用户影响服务器的操作 需严格地授权 如:file process reload shut*

第三组:权限特殊 all意味着“所有权限” uasge意味着无权限,即创建用户,但不授予权限

第三组:权限特殊 all意味着“所有权限” uasge意味着无权限,即创建用户,但不授予权限

columns

columns

权限运用的列(可选)并且你只能设置列特定的权限。如果命令有多于一个列,应该用逗号分开它们。

权限运用的列(可选)并且你只能设置列特定的权限。如果命令有多于一个列,应该用逗号分开它们。

what

what

权限运用的级别。权限可以是全局,定数据库或特定表.

权限运用的级别。权限可以是全局,定数据库或特定表.

user

user

权限授予的用户,由一个用户名和主机名组成,许两个同名用户从不同地方连接.缺省:mysql用户password

权限授予的用户,由一个用户名和主机名组成,许两个同名用户从不同地方连接.缺省:mysql用户password

赋予用户的口令(可选),如果你对用户没有指定identified by子句,该用户口令不变.

赋予用户的口令(可选),如果你对用户没有指定identified by子句,该用户口令不变.

用identified by时,口令字符串用改用口令的字面含义,grant将为你编码口令.

用identified by时,口令字符串用改用口令的字面含义,grant将为你编码口令.

注:set password使用password()函数

注:set password使用password()函数

with grant option

with grant option

用户可以授予权限通过grant语句授权给其它用户(可选)

用户可以授予权限通过grant语句授权给其它用户(可选)

实例讲解:

实例讲解:

grant all on db_book.* to huaying@koowo.com identified by “yeelion”   只能在本地连接

grant all on db_book.* to huaying@koowo.com identified by “yeelion”   只能在本地连接

grant all on db_book.* to huaying@vpn.koowo.com identified by “yeeliong”  允许从此域连接

grant all on db_book.* to huaying@vpn.koowo.com identified by “yeeliong”  允许从此域连接

grant all on db_book.* to huaying@% identified by “yeelion”   允许从任何主机连接 注:”%”字符起通配符作用,与like模式匹配的含义相同。

grant all on db_book.* to huaying@% identified by “yeelion”   允许从任何主机连接 注:”%”字符起通配符作用,与like模式匹配的含义相同。

grant all on db_book.* to huaying@%.koowo.com identified by “yeelion”;  允许huaying从koowo.com域的任何主机连接

grant all on db_book.* to huaying@%.koowo.com identified by “yeelion”;  允许huaying从koowo.com域的任何主机连接

grant all on db_book.* to huaying@192.168.1.189 identified by “yeelion”

grant all on db_book.* to huaying@192.168.1.189 identified by “yeelion”

grant all on db_book.* to huaying@192.168.1.% identified by “yeelion”

grant all on db_book.* to huaying@192.168.1.% identified by “yeelion”

grant all on db_book.* to huaying@192.168.1.0/17 identified by “yeelion”

grant all on db_book.* to huaying@192.168.1.0/17 identified by “yeelion”

允许从单IP 段IP或一子网IP登陆

允许从单IP 段IP或一子网IP登陆

注:有时 用户@IP 需用引号 如”huaying@192.168.1.0/17″

注:有时 用户@IP 需用引号 如”huaying@192.168.1.0/17″

grant all on *.* to huaying@localhost identified by “yeelion” with grant option

grant all on *.* to huaying@localhost identified by “yeelion” with grant option

添加超级用户huaying 可在本地登陆做任何操作.

添加超级用户huaying 可在本地登陆做任何操作.

grant reload on *.* to huaying@localhost identified by “yeelion” 只赋予reload权限

grant reload on *.* to huaying@localhost identified by “yeelion” 只赋予reload权限

grant all on db_book to huaying@koowo.com indetified by “yeelion” 所有权限

grant all on db_book to huaying@koowo.com indetified by “yeelion” 所有权限

grant select on db_book to huaying@% indetified by “yeelion” 只读权限

grant select on db_book to huaying@% indetified by “yeelion” 只读权限

grant select,insert,delete,update on db_book to huaying@koowo.com indetified by “yeelion”

grant select,insert,delete,update on db_book to huaying@koowo.com indetified by “yeelion”

只有select,insert,delete,update的权限

只有select,insert,delete,update的权限

grant select on db_book.storybook to huaying@localhost indetified by “yeelion” 只对表

grant select on db_book.storybook to huaying@localhost indetified by “yeelion” 只对表

grant update (name) on db_book.storybook to huaying@localhost 只对表的name列 密码不变

grant update (name) on db_book.storybook to huaying@localhost 只对表的name列 密码不变

grant update (id,name,author) on db_book.storybook to huaying@localhost 只对表的多列

grant update (id,name,author) on db_book.storybook to huaying@localhost 只对表的多列

grant all on book.* to “”@koowo.com 允许koowo.com域中的所有用户使用库book

grant all on book.* to “”@koowo.com 允许koowo.com域中的所有用户使用库book

grant all on book.* to huaying@%.koowo.com indetified by “yeelion” with grant option

grant all on book.* to huaying@%.koowo.com indetified by “yeelion” with grant option

允许huaying对库book所有表的管理员授权.

允许huaying对库book所有表的管理员授权.

2.撤权并删除用户

2.撤权并删除用户

revoke的语法类似于grant语句

revoke的语法类似于grant语句

to用from取代,没有indetifed by和with grant option子句. 如下:

to用from取代,没有indetifed by和with grant option子句. 如下:

revoke privileges (columns) on what from user

revoke privileges (columns) on what from user

user:必须匹配原来grant语句的你想撤权的用户的user部分。

user:必须匹配原来grant语句的你想撤权的用户的user部分。

privileges:不需匹配,可以用grant语句授权,然后用revoke语句只撤销部分权限。

privileges:不需匹配,可以用grant语句授权,然后用revoke语句只撤销部分权限。

revoke语句只删权限不删用户,撤销了所有权限后user表中用户记录保留,用户仍然可以连接服务器.

revoke语句只删权限不删用户,撤销了所有权限后user表中用户记录保留,用户仍然可以连接服务器.

要完全删除一个用户必须用一条delete语句明确从user表中删除用户记录:

要完全删除一个用户必须用一条delete语句明确从user表中删除用户记录:

delete from user where user=”huaying”

delete from user where user=”huaying”

flush privileges; 重载授权表

flush privileges; 重载授权表

注:使用grant和revoke语句时,表自动重载,而你直接修改授权表时不是.

注:使用grant和revoke语句时,表自动重载,而你直接修改授权表时不是.

实例:

实例:

1.创建数据库

1.创建数据库

CREATE DATABASE  `fypay` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE DATABASE  `fypay` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2.为创建的数据库增加用户fypay

2.为创建的数据库增加用户fypay

grant create,select,insert,update,delete,drop,alter on fypay.* to fypay@”%” identified by “testfpay”;

grant create,select,insert,update,delete,drop,alter on fypay.* to fypay@”%” identified by “testfpay”;

3.删除fypay用户

3.删除fypay用户

delete from user where user=”fypay”

delete from user where user=”fypay”

drop user fypay@localhost

drop user fypay@localhost

4.刷新数据库

4.刷新数据库

flush privileges; 

flush privileges; 

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站:权限设置,用户管理与权

关键词: