Mysql学习mysql数据库用户与权限管理学习笔记

Mysql学习mysql数据库用户与权限管理学习笔记,第1张

概述介绍《Mysql学习mysql数据库用户权限管理学习笔记》开发教程,希望对您有用。

《MysqL学习MysqL数据库用户与权限管理学习笔记》要点:
本文介绍了MysqL学习MysqL数据库用户与权限管理学习笔记,希望对您有用。如果有疑问,可以联系我们。

导读:一、MysqL用户的基本说明:1.1 用户的基本结构MysqL的用户:用户名@主机■用户名:16个字符以内■主机:可以是主机名、IP地址、网络地址等...

一、MysqL用户的基本说明:MysqL应用

1.1 用户的基本结构
MysqL的用户:用户名@主机MysqL应用

■用户名:16个字符以内
■主机:可以是主机名、IP地址、网络地址等
主机名:www.jbxue.com,localhostMysqL应用

IP:192.168.0.1MysqL应用

网络地址:172.16.0.0/255.255.0.0MysqL应用

主机还支持通配符:%和_MysqL应用

172.16.%.%MysqL应用

%.jbxue.com
注意:对于包含了主机名的用户,MysqL会尝试反解析主机名,此时可能会造成连接非常慢,如果反解析的IP地址与连接点的地址不同,还可能出现无法连接的情况.因此,为了加快连接并避免出现解析问题,可以在my.cnf文件中加入如下一行加速连接:MysqL应用

--skip-name-resolve
MysqL用户的密码有MysqL内部的password()函数管理.MysqL应用

1.2 授权表:
MysqL用户只是用于认证,而用户具有的权限有相应的授权机制实现.首先MysqL用户授权的,主要为如下刘张表:MysqL应用

user: Contains user accounts,global privileges,and other non-privilege columns.
user: 用户帐号、全局权限MysqL应用

db: Contains database-level privileges.
db: 库级别权限MysqL应用

host: Obsolete.
host: 废弃MysqL应用

tables_priv: Contains table-level privileges.
tables_priv: 表级别权限MysqL应用

columns_priv: Contains column-level privileges.
columns_priv: 列级别权限MysqL应用

procs_priv: Contains stored procedure and function privileges.
procs_priv: 存储过程和存储函数相关的权限MysqL应用

proxIEs_priv: Contains proxy-user privileges.
proxIEs_priv: 代理用户权限
在MysqL数据库服务启动后,这六张表会被直接加载到内存,而今后所有的认证都直接从内存中这六张表获取,而不是去读取磁盘.MysqL应用

1.3 各授权表的说明:
■ user表范围列决定是否允许或拒绝到来的连接.对于允许的连接,user表授予的权限指出用户的全局(超级用户)权限.这些权限适用于服务器上的all数据库.
■ db表范围列决定用户能从哪个主机存取哪个数据库.权限列决定允许哪个 *** 作.授予的数据库级别的权限适用于数据库和它的表.
■ tables_priv和columns_priv表类似于db表,但是更精致:它们在表和列级应用而非在数据库级.授予表级别的权限适用于表和所有它的列.授予列级别的权限只适用于专用列.
■ procs_priv表适用于保存的程序.授予程序级别的权限只适用于单个程序.
管理权限(例如RELOAD或SHUTDOWN等等)仅在user表中被指定.这是因为管理性 *** 作是服务器本身的 *** 作并且不是特定数据库,因此没有理由在其他授权表中列出这样的权限.MysqL应用

事实上,只需要查询user表来决定你是否执行一个管理 *** 作.MysqL应用

file权限也仅在user表中指定.它不是管理性权限,但你在服务器主机上读或写文件的能力与你正在存取的数据库无关.MysqL应用

当MysqLd服务器启动时,将授权表的内容读入到内存中.
可以通过FLUSH PRIVILEGES语句或执行MysqLadmin flush-privileges或MysqLadmin reload命令让它重新读取表.MysqL应用

二、MysqL提供的权限
账户权限信息被存储在MysqL数据库的user、db、host、tables_priv、columns_priv和procs_priv表中.
在MysqL启动时时,服务器将这些数据库表内容读入内存.MysqL应用

GRANT和REVOKE语句所用的涉及权限的名称显示在下表,还有在授权表中每个权限的表列名称和每个权限有关的上下文.MysqL应用

权限 列 上下文
 
CREATE
 Create_priv
 数据库、表或索引
 
DROP
 Drop_priv
 数据库或表
 
GRANT OPTION
 Grant_priv
 数据库、表或保存的程序
 
REFERENCES
 References_priv
 数据库或表
 
ALTER
 Alter_priv
 表
 
DELETE
 Delete_priv
 表
 
INDEX
 Index_priv
 表
 
INSERT
 Insert_priv
 表
 
SELECT
 Select_priv
 表
 
UPDATE
 Update_priv
 表
 
CREATE VIEW
 Create_vIEw_priv
 视图
 
SHOW VIEW
 Show_vIEw_priv
 视图
 
ALTER ROUTINE
 Alter_routine_priv
 保存的程序
 
CREATE ROUTINE
 Create_routine_priv
 保存的程序
 
EXECUTE
 Execute_priv
 保存的程序
 
file
 file_priv
 服务器主机上的文件访问
 
CREATE TEMPORARY tableS
 Create_tmp_table_priv
 服务器管理
 
LOCK tableS
 Lock_tables_priv
 服务器管理
 
CREATE USER
 Create_user_priv
 服务器管理
 
PROCESS
 Process_priv
 服务器管理
 
RELOAD
 Reload_priv
 服务器管理
 
REPliCATION CLIENT
 Repl_clIEnt_priv
 服务器管理
 
REPliCATION SLAVE
 Repl_slave_priv
 服务器管理
 
SHOW DATABASES
 Show_db_priv
 服务器管理
 
SHUTDOWN
 Shutdown_priv
 服务器管理
 
SUPER
 Super_priv
 服务器管理
 
三、权限更改何时生效
当MysqLd启动时,所有授权表的内容被读进内存并且从此时生效.MysqL应用

当服务器注意到授权表被改变了时,现存的客户端连接有如下影响:
■ 表和列权限在客户端的下一次哀求时生效.
■ 数据库权限改变在下一个USE db_name命令生效.
■ 全局权限的改变和密码改变在下一次客户端连接时生效.
如果用GRANT、REVOKE或SET PASSWORD对授权表进行修改,服务器会注意到并立即重新将授权表载入内存. MysqL应用

内存溢出PHP培训学院每天发布《MysqL学习MysqL数据库用户与权限管理学习笔记》等实战技能,PHP、MysqL、liNUX、APP、Js,CSS全面培养人才。

总结

以上是内存溢出为你收集整理的Mysql学习mysql数据库用户与权限管理学习笔记全部内容,希望文章能够帮你解决Mysql学习mysql数据库用户与权限管理学习笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存