MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理_第1页
MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理_第2页
MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理_第3页
MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理_第4页
MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元7MySQL用户管理《MySQL数据库管理与应用任务式教程(慕课版)》学习内容任务1管理学生成绩管理数据库的用户

2任务2管理学生成绩管理数据库用户的权限任务4卸载MySQL任务1管理学生成绩管理数据库的用户7.1.1了解MySQL的权限表

MySQL在安装时会自动创建一个名为mysql的系统数据库,它保存了数据库的账户信息、权限信息、存储过程和时区等信息。

mysql>showdatabases;mysql>usemysql;mysql>showtables;执行SHOWTABLES语句可以查看当前数据库下存在的所有表,MySQL5.7.20版本中包含31张表,用户权限信息被分别存储在其中的user、db、host、tables_priv、columns_priv和procs_priv表中。在MySQL启动时,服务器将这些表中权限信息读入内存。当用户登录系统后,MySQL数据库系统会根据这些表的内容为每个用户赋予相应的权限。任务1管理学生成绩管理数据库的用户mysql>descuser;mysql数据库中的user表是MySQL中最重要的一个权限表,用来记录允许连接到服务器的用户信息,包括用户名称、主机名、密码和操作权限等。使用descuser语句可以查看这些字段,它们可以分为4类,即用户字段、权限字段、安全字段和资源控制字段。1.user表

任务1管理学生成绩管理数据库的用户User表中的host、user和pssword字段都属于用户字段,存储了用户连接MySQL数据库时需要输入的信息。host表示主机名或主机的IP地址(即用户连接MySQL时所用主机的名字)、user表示用户名、authentication_string表示密码字段。用户登录时,如果这3个字段同时匹配,MySQL数据库系统才会允许其登录。(1)用户字段MySQL5.7版本不再使用Password来作为密码字段。任务1管理学生成绩管理数据库的用户可以看出,user字段的值有如下3个。①mysql.sys:用于sysschema中对象的定义。使用mysql.sys可避免数据库管理员重命名或者删除root用户时发生问题。该用户已被锁定,客户端无法连接。②mysql.session:用于插件内部访问服务器。该用户已被锁定,客户端无法连接。③root:用于管理。该用户拥有所有权限,可执行任何操作。host、user和password这3个字段决定了用户能否登录,用户登录时,会先判断这3个字段的值是否同时匹配,若是,MySQL数据库系统才会允许用户登录。【例题7.1】使用select语句查看user表中的所有用户。mysql>selecthost,user,authentication_stringfromuser;任务1管理学生成绩管理数据库的用户user表中以_priv结尾的字段都是权限字段,如表7-1所示。权限字段决定了用户的权限,用来描述在全局范围内决定是否允许对数据和数据库进行操作。(2)权限字段权限字段值的数据类型为ENUM,可取的值只有Y和N,Y表示用户有对应的权限,N表示用户没有对应的权限。从安全角度考虑,这些字段的默认值都为N。任务1管理学生成绩管理数据库的用户表7-1user表的权限字段及相关介绍属性名对应权限字段说明select_privSELECT允许使用SELECT语句检索数据insert_privINSERT允许使用INSERT语句插入数据update_privUPDATE允许使用UPDATE语句修改现有数据delete_privDELETE允许使用DELETE语句从表中删除现有数据create_privCREATE允许创建新的数据库和表,但是不允许创建索引drop_privDROP允许删除现有的数据库和表,但是不允许删除索引reload_privRELOAD允许执行大量的服务器管理操作,包括日志、权限、主机、查询和表shutdown_privSHUTDOWN允许关闭MySQL服务器process_privPROCESS允许使用SHOWPROCESSLIST语句查看服务器内正在运行的线程(进程)的信息file_privFILE允许加载服务器主机上的文件grant_privGRANT允许将已经授予某用户的权限再授予其他用户references_privREFERENCES目前并没有多大的作用index_privINDEX允许创建和删除表的索引任务1管理学生成绩管理数据库的用户表7-1user表的权限字段及相关介绍属性名对应权限字段说明alter_pivALTER允许重命名和修改表的结构show_db_privSHOWDATABASES允许查看所有的数据库super_privSUPER允许使用某些强大的管理功能create_tmp_table_privCREATETEMPORARYTABLES允许创建临时表lock_tables_privLOCAKTABLES允许使用LOCKTABLES语句锁定表execute_privEXECUTE允许执行存储过程和自定义函数repl_slave_privREPLICATIONSLAVE允许读取用户维护、复制数据库环境的二进制日志文件repl_client_privREPLICATIONCLIENT允许从服务器和主服务器的位置复制create_view_privCREATEVIEW允许创建视图show_view_privSHOWVIEW允许查看视图create_routine_privCREATEROUTINE允许创建存储过程或自定义函数alter_routine_privALTERROUTINE允许修改存储过程或自定义函数create_user_privCREATEUSER允许执行CREATEUSER语句创建用户eventprivCREATE/DROPEVENT允许创建、修改和删除事件trigger_privCREATE/DROPTRIGGER允许创建和删除触发器任务1管理学生成绩管理数据库的用户上述输出结果表示,当前主机的root用户具有SELECT、INSERT和UPDATE的权限。在上述的所有权限字段中,每一个权限以一个单独的列指定,这些列全部是ENUM('Y',N')枚举类型。如果不为其指定值,则使用默认值N。【例题7.2】下面通过SELECT语句查看当前root用户是否具有SELECT、INSERT和UPDATE的权限mysql>SELECTselect_priv,insert_priv,update_priv,user,hostFROMuser

->WHEREuser='root’ANDhost='localhost';任务1管理学生成绩管理数据库的用户安全字段主要用来判断用户是否能够成功登录。user表中有ssl_type、ssl_cipher、x509_issuser和x509_subject这4个安全字段。其中ssl用于加密,x509标准可以用来表示用户。通常标准的MySQL发行版本并不支持ssl功能,执行SHOWVARIABLESLIKE‘have_openss1’语句可以查看MySQL是否具有该功能,具体语句如下。(3)安全字段have_openssl的值为DISABLED,表明该版本的MySQL不支持ssl加密功能。mysql>SHOWVARIABLESLIKE‘have_openss1’;任务1管理学生成绩管理数据库的用户资源控制字段用来限制用户使用的资源。user表中包含如下4个资源控制字段。①max_questions:表示用户每小时允许执行的查询次数。②max_updates:表示每小时允许执行多少次更新。③max_connections:表示每小时建立多少次连接。④max_user_connections:表示单个用户可以同时具有的连接数。它们的默认值都是0,表示没有限制。(4)资源控制字段任务1管理学生成绩管理数据库的用户db表中存储了用户对某个数据库的操作权限,db表的结构如表7-2所示。这里的权限适用于一个数据库中的所有表。2.db表字段host、user、db为用户字段,表示从某个主机连接某个用户对某个数据库的操作权限。db表中的权限字段和user表中的权限字段大致相同,只是user表中的权限是针对所有数据库的,而db表中的权限只针对指定的数据库。如果希望用户只对某个数据库有操作权限,可以先将user表中对应的权限设置为N,然后在db表中设置对应数据库的操作权限为Y。任务1管理学生成绩管理数据库的用户表7-2db表的结构字段名字段类型是否为空主键默认值字段说明hostCHAR(60)NOPRI主机名或IP地址dbCHAR(64)NOPRI数据库名userCHAR(32)NOPRI用户名select_privENUM('N','Y'")NON用于检索数据insert_privENUM('N','Y')NON用于插人数据update_privENUM('N','Y')NON用于修改现有数据delete_privENUM('N','Y')NON用于删除现有数据create_privENUM('N','Y')NON用于创建新的数据库和表drop_privENUM('N','Y')NON用于删除现有的数据库和表grant_privENUM('N','Y')NON用于执行大量的服务器管理操作references_privENUM('N','Y')NON用于目前并没有多大的作用任务1管理学生成绩管理数据库的用户表7-2db表的结构字段名字段类型是否为空主键默认值字段说明index_privENUM('N','Y')NON用于创建和删除表的索引alter_privENUM('N','Y')NON用于重命名和修改表的结构create_tmp_table_privENUM('N','Y')NON用于创建临时表lock_tables_privENUM('N','Y')NON用于锁定表create_view_privENUM('N','Y')NON用于创建视图show_view_privENUM('N','Y')NON用于查看视图create_routine_privENUM('N','Y')NON用于创建存储过程或自定义函数alter_routine_privENUM('N','Y')NON用于修改存储过程或自定义函数execute_privENUM('N','Y')NON用于执行存储过程或自定义函数event_privENUM('N','Y')NON用于创建、修改和删除事件trigger_privENUM('N','Y')NON用于创建和删除触发器任务1管理学生成绩管理数据库的用户【例题7.3】使用SELECT语句查询表db中的第一条记录。mysql>SELECT*FROMmysql.dbLIMIT1\G;任务1管理学生成绩管理数据库的用户tables_priv表用来对单个表进行权限设置,即用来指定表级权限。表tables_priv的结构如表7-3所示。

host、db、user和table_name字段为作用域列,依次表示主机名或IP地址、数据库名、用户名和表名。grantor字段表示权限是谁设置的;timestamp字段表示修改权限的时间;table_priv和column_priv字段为权限字段,前者表示对表进行操作的权限,后者表示对数据列进行操作的权限。3.tables_priv表任务1管理学生成绩管理数据库的用户表7-3tables_priv表的结构字段名字段类型是否为空主键默认值字段说明hostCHAR(60)NOPRI主机名或IP地址dbCHAR(64)NOPRI数据库名userCHAR(32)NOPRI用户名table_nameCHAR(64)NOMUL表名grantorCHAR(93)NO表示修改记录的用户timestampTIMESTAMPNOCURRENT_TIMESTAMP表示修改记录的时间table_privSET('SELECT','INSERT','UPDATE','DELETE','CREATE','DROP','GRANT','REFERENCES','INDEX','ALTER','CREATEVIEW','SHowVIEW','TRIGGER')NO表示对表的操作权限,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、GRANT、REFERENCES、INDEX和ALTER等column_privSET('SELECT','INSERT','UPDATE','REFERENCES')NO表示对表中的列的操作权限,包括SELECT、INSERT、UPDATE和REFERENCES任务1管理学生成绩管理数据库的用户columns_priv表用来对单个数据列进行权限设置,即用来指定数据列级的操作权限,columns_priv表的结构如表7-4所示。

host、db、user、table_name和column_priv字段为作用域列,依次表示主机名或IP地址、数据库名、用户名、表名和列名,表示可以对哪些数据列进行操作。可对表中的数据列进行操作权限的设置,这些权限包括INSERT、UPDATE、SELECT和REFERENCES。4.columns_priv表任务1管理学生成绩管理数据库的用户表7-4columns_priv表的结构字段名字段类型是否为空默认值字段说明hostCHAR(60)NO无主机名或IP地址dbCHAR(64)NO无数据库名userCHAR(32)NO无用户名table_nameCHAR(64)NO无表名column_nameCHAR(64)NO无表示数据列名称,用来指定对哪些数据列具有操作权限timestampTIMESTAMPNOCURRENT_TIMESTAMP表示修改记录的时间column_privSET('SELECT','INSERT','UPDATE','REFERENCES')NO无表示对表中的列的操作权限,包括SELECT、INSERT、UPDATE和REFERENCES任务1管理学生成绩管理数据库的用户procs_priv表可以对存储过程和存储函数进行权限设置,procs_priv的表结构如表7-5所示。5.procs_priv表字段名字段类型是否为空默认值字段说明hostCHAR(60)NO无主机名dbCHAR(64)NO无数据库名userCHAR(32)NO无用户名routine_nameCHAR(64)NO无表示存储过程或函数的名称routine_typeENUM('FUNCTION','PROCEDURE')NO无表示存储过程或函数的类型。routine_type字段有两个值,分别是FUNCTION和PROCEDURE。FUNCTION表示函数;PROCEDURE表示存储过程grantorCHAR(93)NO无表示插入或修改记录的用户proc_privSET('EXECUTE','ALTERROUTINE','GRANT')NO无表示拥有的权限,包括EXECUTE、ALTERROUTINE、GRANT3种timestampTIMESTAMPNOCURRENT_TIMESTAMP表示记录更新的时间表7-5procs_priv表的结构任务1管理学生成绩管理数据库的用户7.1.2了解MySQL的访问控制过程1.连接核实阶段当用户连接MySQL服务器时,服务器基于用户的账号和密码来进行身份验证。即将用户连接请求中提供的用户名、主机地址和密码与权限表user中保存的user、host、authentication_string字段值进行匹配,如果这3个字段同时匹配成功,MySQL服务器接受连接请求,然后进入请求核实阶段;否则,服务器拒绝访问。2.请求核实阶段建立连接之后,服务器对于用户的每个操作请求,都要检查用户是否有足够的权限来执行。用户已经被授予的权限分别保存在user、db、host、tables_priv、columns_priv或procs_priv表中。请求核实的过程如下。任务1管理学生成绩管理数据库的用户(1)用户向MySQL发出操作请求。(2)MySQL检查user权限表中的权限信息,匹配user、host字段值,查看请求的全局权限是否被允许,如果找到匹配结果,操作允许执行,否则MySQL继续向下查找。(3)MySQL检查db权限表中的权限信息,匹配user、host、db字段值,查看请求的数据库级别的权限是否被允许,如果找到匹配结果,操作允许执行,否则MySQL继续向下查找。(4)MySQL检查tables_priv权限表中的信息,匹配user、host、db、table_name字段值,查看请求的数据库级别的权限是否被允许,如果找到匹配结果,操作允许执行,否则MySQL继续向下查找。(5)MySQL检查columns_priv权限表中的信息,匹配user、host、db、table_name、column_name字段值,查看请求的数据库级别的权限是否被允许,如果找到匹配结果,操作允许执行,否则MySQL返回错误信息,用户请求的操作不能执行,操作失败。任务1管理学生成绩管理数据库的用户7.1.3用命令方式创建和管理用户创建用户是指添加普通用户,创建用户有3种方式:通过CREATEUSER语句创建;通过INSERT语句创建;通过GRANT语句创建。(1)用CREATEUSER语句创建用户CREATEUSER语句用于创建新的MySQL用户,即在mysql.user表中创建-条新记录如果创建的用户已经存在,则出现错误。CREATEUSER语句的基本语法格式如下。1.创建用户CREATEUSERuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]…任务1管理学生成绩管理数据库的用户【例题7.4】使用CREATEUSER语句为学生成绩管理数据库cjgl创建名为teacher111的用户,指定主机名是localhost、密码为teacher123。mysql>usecijlmysql->CREATEUSER'teacher111'@'localhost'IDENTIFIEDBY'teacher123';创建完成后可以通过SELECT语句查询user表中的记录,并且指定查询的条件,执行的语句如下。

mysql>SELECTuser,hostFROMmysql.userWHEREuser='teacher111';新创建的用户拥有的权限很少,它们只能执行不需要权限的操作。如登录MySQL、使用SHOW语句查询所有存储引擎和字符集的列表等。任务1管理学生成绩管理数据库的用户【例题7.5】使用CREATEUSER语句为学生成绩管理数据库cjgl一次性创建名称为student1、student2和student3的用户,密码与用户名一致,主机名都是localhost。(2)用INSERT语句创建用户。还可以直接用INSERT语句向mysql.user表中添加用户信息来创建用户,但用户必须拥有对user表的INSERT权限。使用INSERT语句向user表中添加host、user和authentication_string字段的值时,其他未指定的字段一般会使用默认值,但ssl_cipher、x509_issuer和x509_subject字段并没有默认值,因此要为它们指定初始值(如空值),否则直接执行INSERT语句会提示出错。Mysql->CREATEUSER'student1'@'localhost'IDENTIFIEDBY'student1',->'student2'@'localhost'IDENTIFIEDBY'student2',->'student3'@'localhost'IDENTIFIEDBY'student3';任务1管理学生成绩管理数据库的用户【例题7.6】使用INSERT语句为学生成绩管理数据库cjgl创建名称是student4的用户,指定主机名是localhost、密码是student4。执行完INSERT语句后用户新建成功。但此时通过该账户登录MySQL服务器并不会成功,因为新用户还没有生效。重启MySQL服务器或者执行FLUSHPRIVILEGES语句可以使新用户生效,如下所示,该语句可以从user表中重新载入权限。mysql>INSERTINTOmysql.user(host,user,authentication_string,ss1_cipher,x509_issuer,x509_subject)VALUES('localhost','student4',PASSWORD('student4'),'','','');mysql>FLUSHPRIVILEGES;任务1管理学生成绩管理数据库的用户在MySQL中,可以通过多种方式修改用户名和密码。(1)使用RENAMEUSER语句修改用户名。在MySQL中,可以使用RENAMEUSER语句修改一个或多个已经存在的用户名。其语法格式如下。RENAMEUSERold_userTOnew_user需要注意的是,如果系统中旧账户不存在或者新账户已存在,执行该语句会出现错误。使用RENAMEUSER语句,必须拥有mysql数据库的UPDATE权限或全局CREATEUSER权限。2.

修改用户任务1管理学生成绩管理数据库的用户【例题7.7】使用RENAMEUSER语句将学生成绩管理数据库cjgl中名为student1的用户改名为student。可以使用student用户登录数据库服务器,执行如下语句。C:\Users\Admin>mysql-hlocalhost-ustudent-p(2)使用SET语句修改密码。在使用root用户登录到MySQL服务器时,还可以直接使用SET语句修改密码。SET语句的基本语法格式如下。SETPASSWORDFORusername@localhost=PASSWORD('new_password');其中,username表示要修改密码的用户名,new_password表示新密码。如果更改用户自身的密码,可直接使用以下语句。SETPASSWORD=PASSWORD("new_password");mysql>RENAMEUSER'student1'@'localhost'TO'student'@'localhost';mysql>FLUSHPRIVILEGES;任务1管理学生成绩管理数据库的用户【例题7.8】以root用户的身份登录MySQL服务器,然后使用SET语句将root用户的密码更改为root。(3)使用mysqladmin语句修改密码。root用户可以修改自己的密码和普通用户的密码;普通用户可以修改自己的密码。mysqladmin是MySQL服务器的管理工具,使用mysqladmin语句既可以修改root用户的密码,也可以修改普通用户的密码。其基本语法格式如下。mysqladmin-uusername-ppassword'new_password';mysql>SETPASSWORDFORroot@localhost=PASSWORD(‘root’);任务1管理学生成绩管理数据库的用户【例题7.9】使用mysqladmin命令将root用户的密码更改回mysql。执行该语句时系统要求输入原密码,修改完毕后系统会发出警告信息。C:\Users\Admin>mysqladmin-uroot-ppassword'mysql'Enterpassword:********mysqladmin:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.Warning:Sincepasswordwillbesenttoserverinplaintext,usesslconnectiontoensurepasswordsafety.任务1管理学生成绩管理数据库的用户【例题7.10】使用mysqladmin语句将学生成绩管理数据库cjgl中名为student的用户的原密码student1修改为student。(4)使用UPDATE语句修改密码。在以root用户身份登录到MySQL数据库时,可以使用UPDATE语句更改mysql.user表的authentication_string字段值来修改密码。UPDATE语句修改密码的语法格式如下。C:\Users\Admin>mysqladmin-ustudent-ppassword‘student’UPDATEuserSETpassword=PASSWORD("new_password")WHEREuser='username'ANDhost='hostname';任务1管理学生成绩管理数据库的用户【例题7.11】使用UPDATE语句更改用户student2的密码,指定新的密码是student。密码修改完毕后执行FLUSHPRIVILEGES语句刷新权限,如下所示。再次使用student2用户身份登录时需要使用新的密码。mysql>UPDATEmysql.userSETpassword=PASSWORD("student")WHEREuser="student4"ANDhost="localhost";mysql>FLUSHPRIVILEGES;任务1管理学生成绩管理数据库的用户在MySQL数据库中,可以使用DROPUSER语句删除用户,也可以直接在mysql.user表中删除用户及其相关权限。(1)用DROPUSER语句删除用户。使用DROPUSER语句删除用户以及权限信息时必须拥有DROP权限。该语句的语法格式如下。3.

删除用户DROPUSERuser[,user]任务1管理学生成绩管理数据库的用户【例题7.12】使用DROPUSER语句删除学生成绩管理数据库cjgl中名为student3、student4的用户,其主机名都是localhost。(2)用DELETE语句删除用户。使用DELETE语句删除用户时必须拥有对mysql.user表的DELETE权限,使用该语句可直接将用户的信息从user表中删除。该语句的基本语法格式如下。mysql>DROPUSER'student3'@'localhost','student4'@'localhost';DELETEFROMuserWHEREhost='localhost'ANDuser='username';任务1管理学生成绩管理数据库的用户【例题7.13】使用DELETE语句删除学生成绩管理数据库中名为student2的用户,其主机名是localhost。执行完上述语句后还要使用FLUSHPRIVILEGES语句来使删除用户生效,如下所示。mysql>DELETEFROMmysql.userWHEREHost=’localhost’ANDUser=’student2’;mysql>FLUSHPRIVILEGES任务1管理学生成绩管理数据库的用户7.1.4用MySQLWorkbench图形化工具创建和管理用户使用MySQLWorkbench图形化工具可以创建、修改和删除用户账号,编辑配置文件等。【例题7.14】使用MySQLWorkbench图形化工具为学生成绩管理数据库cjgl创建名为teacher的用户,密码为teacher123,然后修改密码为teacher111,最后删除teacher用户。

(1)打开MySQLWorkbench图形化工具,登录MySQL服务器,在导航窗格单击MANAGEMENT栏的UsersandPrivileges,打开图7-3所示的用户和权限的管理界面,其中会显示当前MySQL服务器中的所有用户。任务1管理学生成绩管理数据库的用户

(2)单击AddAccount按钮弹出创建用户窗口,在Login选项卡中设置用户名为teacher、认证类型为Standard、主机名为%、密码为teacher123,单击Apply按钮,此时在窗口左侧可见刚刚创建的teacher用户,如图7-4所示。任务1管理学生成绩管理数据库的用户(4)不再需要的用户可以直接删除。如要删除teacher用户,只需在用户列表中选中teacher用户,单击下方的Delete按钮,确认删除即可。单击Refresh按钮可刷新用户列表。(3)在窗口左侧的用户列表中,选择用户teacher,可查看该用户的用户名、认证类型、主机名称、用户密码等信息。而且可以对该用户信息进行修改,如将其密码修改为teacher111,然后单击Apply按钮。任务2管理学生成绩管理数据库用户的权限7.2.1用命令方式管理权限授予权限也称分配权限,是指为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。在MySQL数据库中可以使用以下两种方法给用户授予权限。(1)直接操作MySQL的权限表来给用户授予权限。如在使用INSERT语句向mysql.user表中插入用户数据时直接为权限字段赋值。(2)使用GRANT语句给用户授予权限。GRANT语句的主要用途是给用户授权,可以使用它在创建新用户的同时进行授权。GRANT语句的基本语法格式如下。1.

授予权限GRANTpriv_type[(column_list)]ONdatabase.tableTOuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]…[WITH{GRANTOPTION|resource_option}...【例题7.15】使用GRANT语句为学生成绩管理数据库cjgl创建名为student5的用户,指定主机名为localhost、密码为student5,该用户对所有数据库的所有表都拥有SELECT的权限。可以通过SELECT语句查看该用户的权限信息,执行如下语句。任务2管理学生成绩管理数据库用户的权限GRANTSELECTON*.*TO'student5'@'localhost'IDENTIFIEDBY'student5';mysql>SELECT*FROMmysql.userWHEREuser='student5'\G;【例题7.16】使用GRANT语句给学生成绩管理数据库cjgl的student用户授予对所有数据库中所有表的SELECT、INSERT和UPDATE的权限,允许该用户将这些权限赋予别的用户。可以使用SELECT语句查询mysql.user表,并且查看student用户的信息,执行如下语句。任务2管理学生成绩管理数据库用户的权限mysql>GRANTSELECT,INSERT,UPDATEON*.*TO'student'@'localhost'IDENTIFIEDBY'student'WITHGRANTOPTION;mysql>SELECThost,user,authentication_string,select_priv,Insert_priv,update_priv,delete_privFROMmysql.userWHEREuser='student'ANDhost='localhost'\G;任务2管理学生成绩管理数据库用户的权限在MySQL数据库中查看用户的权限有以下两种方法。(1)使用SELECT语句查看权限。通过SELECT语句查看mysql.user权限表中的记录,可以查看所有用户的权限。这种方式非常简单,但必须拥有对mysql.user表的查询权限。2.

查看权限(2)使用SHOWGRANTS语句查看权限。SELECT*FROMmysql.user;SHOWGRANTSFOR‘username’@’hostname’;【例题7.17】使用SHOWGRANTS语句查看root用户的权限。任务2管理学生成绩管理数据库用户的权限mysql>SHOWGRANTSFOR‘root’@’localhost’\G;任务2管理学生成绩管理数据库用户的权限收回权限也称取消权限,是指取消某个用户的某些权限。数据库管理员给普通用户授权时一定要特别小心,如果授权不当,可能会给数据库带来严重的后果。如果发现授予用户的权限太多,应该尽快将权限收回。在MySQL中可以使用REVOKE语句实现取消权限的功能。REVOKE语句的基本语法格式如下。3.

收回权限REVOKE语句的语法与GRANT语句非常相似,参数的意义也相同。使用REVOKE语句可以同时取消多个用户的权限,每个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论