Linux操作系统安全配置 课件 08-002-MySQL权限管理_第1页
Linux操作系统安全配置 课件 08-002-MySQL权限管理_第2页
Linux操作系统安全配置 课件 08-002-MySQL权限管理_第3页
Linux操作系统安全配置 课件 08-002-MySQL权限管理_第4页
Linux操作系统安全配置 课件 08-002-MySQL权限管理_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

单击此处编辑母版标题样式

MySQL权限管理学习内容MySQL用户权限管理0102MySQL数据库备份与还原03总结

MySQL用户权限1MySQL中提供了一套非常实用的权限系统,用于管理和控制某个用户使用其所提供自主机名、用户名和密码能否连接到指定的数据库服务器、能否打开所需数据库以及能否叉数据进行读取(select)、添加(insert)、修改(update)和删除(delete)等操作。

MySQL用户权限1(1)系统数据库mysqlMySQL内置了一个系统数据库mysql,其中包含存放着权限系统所需要的数据的授权表。当MySQL服务器启动时,会首先读取系统数据库mysql中的授权表,并将表中相关的数据装入内存;当用户连接数据库服务器并对数据库进行存取操作时,MySQL会根据这些表中的数据做相应的权限控制。因此,在设置用户的存取权限时,必然要对mysql数据库中有关的表进行修改。

MySQL用户权限1(1)系统数据库mysqlmysql数据库中用于权限系统的授权表主要包括user、db、host、tablespriv和columns_priv。我们可以启用客户端程序mysql,执行showtables命令进行查看,并使用describe命令列出上述各个表的结构。为了方便说明,表8-4和8-5列出了授权表中的字段名称。

MySQL用户权限1(1)系统数据库mysql表名称userdbhost字段类型范围字段HostHostHostchar(60)DbDbchar(64)UserUserchar(16)Passwordchar(16)权限字段Select_privSelect_privSelect_privenum(‘N’,’Y’)Insert_privInsert_privInsert_privenum(‘N’,’Y’)Update_privUpdate-privUpdate_privenum(‘N’,’Y’)Delete_privDelete-privDelete_privenum(‘N’,’Y’)Index_privIndex_privIndex_privenum(‘N’,’Y’)Alter_privAlter_privAlter_privenum(‘N’,’Y’)Create_privCreate_privCreate-privenum(‘N’,’Y’)Drop_privDrop_privDrop_privenum(‘N’,’Y’)Grant_privGranLprivGrant_privenum(‘N’,’Y’)Reload_privenum(‘N’,’Y’)Shutdown_privenum(‘N’,’Y’)Process_privenum(‘N’,’Y’)File_privenum(‘N’,’Y’)

MySQL用户权限1(1)系统数据库mysql表名称Tables_privcolumns_priv字段类型范围字段HostHostchar(60)DbDbchar(64)UserUserchar(16)Table_nameTable_namechar(64)Column_namechar(64)权限字段Table_privset(‘Select’,’Insert’,’Update’,’Delete’,’Create’,’Drop’,’Grant’,’References’,’Index’,’Alter’)Column_privColumn_privset(‘Select’,’Insert’,’Update’,’References’)其他字段TimestampTimestamptimestamp(16)Grantorchar(77)

MySQL用户权限1(2)MySQL数据库权限权限字段名权限说明selectSelect_privSelect_priv读取表中的数据insertInsert_priv向表中插入数据updateUpdate_priv更改表中的数据deleteDelete_prlv删除表中的数据indexIndex_priv创建或删除表的索引alterAlter_priv修改表的结构createCreate_priv创建新的数据库和表dropDrop_priv删除现存的数据库和表grantGrant_pnv将自己拥有的某些权限授予其他用户fileFile_priv在数据库服务器上读取和写入文件reloadReload_priv进行一些系统的操作,该权限的拥有者可以执行的命令有:reload、refresh、flush-privileges、flush-hosts、flush-tables。其中reload命令用于重新载入授权表,refresh命令用于清洗所有表并打开和关闭日志文件,flush-privileges与reload功能相同,其他flush-*命令执行类似refresh的功能,但其范围有限,因此适用于某些特定情况,例如:如果只想清洗日志文件,使用flush-log比refresh更合适。shutdownShutdown_priv停止或关闭MySQLprocessProcess_priv查看当前执行的查询,该权限的拥有者可以执行的命令有:processlist和kill。processlist用于显示在服务器内执行的线程的信息,kill用于杀死服务器线程。

MySQL用户权限1(3)MySQL权限系统的工作原理MySQL权限系统保证所有的用户可以严格按照事先分配好的权限对数据库进行允许的操作。当用户试图连接到一个MySQL服务器并且对数据库进行相关操作时,MySQL权限系统将对用户的身份进行验证并授予其相应的操作权限,这一过程包含两个阶段,即连接验证阶段和请求验证阶段。(1)第一阶段------连接验证阶段(2)第二阶段------请求验证阶段

MySQL用户权限1(4)连接MySQL数据库要想使用Mysql客户端程序对数据库进行管理,首先需要连接将要管理的MySQL服务器。连接时,需要指定主机名、用户名和口令,其命令格式为:

mysql[-hhostname][-uusername][-p[password]][database]其中,-h、-u和-p选项的另一种形式是--host=host_name、

--user=user_name--password=your_pass

MySQL用户权限1(5)MySQL的初始化权限MySQL安装完成之后,在启动MySQL服务(mysqld)时,会加载授权表中的初始权限设置。这些初始权限存储在user和db表中,可以使用SELECT语句进行查看,主要包括:内置一个口令为空的root用户,该用户是可以对MySQL数据库系统进行任何操作的超级用户。使用root用户连接服务器时,必须由本地主机(localhost)发出。

MySQL用户权限1(5)MySQL的初始化权限内置一个匿名用户,该用户可对有一个名为“test”或名称以“test_”开始的数据库进行任何操作。使用匿名用户连接服务器时,也必须由本地主机(localhost)发出。其他权限均被拒绝。

MySQL用户权限1(6)设置MySQL超级用户root的口令为root用户设置密码方法如下:①使用mysqladmin实用程序将root口令设置为123456[root@rhlroot]#mysqladminpassword'123456‘②使用SETPASSWORD语句和PASSWORD()函数将root口令设置为123456mysql>SETPASSWORDforroot=PASSWORD(‘123456’);

MySQL用户权限1(6)设置MySQL超级用户root的口令

③使用UPDATE语句和PASSWORD()函数将root口令设置为crqmysql>UPDATEuserSETpassword=PASSWORD(‘123456’)WHEREuser=’root’;删除匿名用户方法如下:mysql>usemysql;mysql>DELETEfromuserWHEREuser=’’;

MySQL用户权限1(7)RANT和REVOKE语句GRANT语句用于授予用户权限。其语法如下:GRANTpriv_type[(column_list)][,priv_type[(column_list)]...]ON{*.*|*|db_name.*|db_name.tbl_name|db_name}TOuser_name[IDENTIFIEDBY'password'][,user_name[IDENTIFIEDBY'password']...][WITHGRANTOPTION]

MySQL用户权限1(7)RANT和REVOKE语句REVOKE语句用于撤消用户权限,其语法如下:REVOKEpriv_type[(column_list)][,priv_type[(column_list)]...]ON{*.*|*|db_name.*|db_name.tbl_name|db_name}FROMuser_name[,user_name...]

MySQL数据库备份与恢复2(1)手工备份数据库例如:将数据库sales备份到/mysqlbak目录下[root@rhlroot]#mysqldump-uroot-p123456--optsales>mysqlbak/sales_bak110322.sql

MySQL数据库备份与恢复2(2)手工恢复数据库例如:使用/mysqlbak目录下的数据库备份文件sales_bak070430.sql恢复sales数据库。[root@rhlroot]mysql-uroot-p123456sales</mysql.bak/sales_bak110

温馨提示

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

最新文档

评论

0/150

提交评论