mysql权限日志,MySQL基础篇07:用户和权限管理,日志体系简介

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

本文的源代码:GitHub·单击此处|| GitEE·单击此处

在使用数据库的过程中,用户作为访问数据库的身份验证因素扮演着重要角色。安装MySQL时,根用户将自动以数据库管理员身份生成并具有所有权限。在多用户应用程序场景中,可能需要为不同的用户分配不同的权限,以提高系统的稳定性。例如,这很常见:报告库仅提供读取权限,或者它对第三方库开放并且仅可读。用户。

基本描述

MySQL将用户信息存储在系统数据库mysql的用户表中。根据用户名和密码以及客户端主机定义帐户。

用户密码:基本验证操作;

客户端IP:类似于黑白名单的限制,支持通配符表达式;

添加用户

您可以在用户表上添加,删除,修改和检查一系列操作,然后添加用户。不同的用户将涉及不同的操作权限。这是另一个问题:用户权限管理。

在此处添加一个user01用户作为权限模块的测试用户。权限首先赋予与root用户相同的权限。

:这里为主机分配了%,这意味着所有IP都可以通过user01用户连接到MySQL服务器。修改系统表后,需要执行刷新操作。

在MySQL数据库系统中,权限分配涉及以下核心表:user,db,table_pric,columns_priv。按照此顺序进行授权验证期间的逐步验证。

权限表说明

用户表:存储用户和用户的全局权限,也是首当其冲的MySQL身份验证过程的表;

db表:保存数据库权限;

table_priv表:存储特定表及其中所有列的表权限;

columns_priv表:存储特定表中单个列的列权限;

:权限表的管理不限于上述权限表,但是寿命很短,而且理顺了,其他表也应该能够找到过去。

用户表结构

在这里,我们处理包括用户在内的连接信息,并且有许多授权点认证。

:注释,用户和全局权限管理。

许可点说明

就一般的开发过程而言,了解以下许可点的管理就足够了。

:工作了几年之后,您最喜欢的编程逻辑是什么?无论如何,我想编写一个简单的添加,删除和修改检查操作。

首先验证用户表,然后是db表,然后是表表,然后是列表;

根据范围的缩小,权限将不断完善。

测试user01用户权限

权限查询

首先检查user01的查询权限。此时,用户具有选择权限。

使用客户端工具,使用user01用户登录MySQL服务器,可以正常使用查询权限。

禁用查询权限点

权限验证

使用user01登录的客户端无法查询表数据,表明权限管理正在工作。

根据此语句,检查与日志相关的配置,例如日志地址,是否打开或关闭,日志缓存大小以及相关的配置信息。

正常停止MySQL服务器,您可以通过my.cnf更改相关配置。 Linux下的配置文件通常位于/etc/my.cnf中。

InnoDB的事务日志包括Redo-log和Undo-log。此日志的描述在MySQL5.7官方文档的InnoDB存储引擎-磁盘结构模块下。

! [07-1.png](https://segmentfault.com/img/bVbE9Vj \ quot; 07-1.png \ quot))

重做日志

重做日志:基于磁盘的数据结构,记录在事务操作崩溃期间通常未写入库的数据,重做:处理通常未写入日志的数据记录,并完成了数据存储。

撤消日志

回滚日志:提供回滚操作和多行版本控制MVCC。提交事务后,将记录撤消日志。当事务失败或执行回滚时,需要使用Undo-log进行回滚。思维跳到一个层次:写入数据时,日志记录应该是一个新标记,要执行的记录是删除该数据操作,删除数据后,应该逆向执行,以记录已删除数据的写入操作。

在MySQL配置文件中,强制打开log_error,并且没有关闭开关。它用于记录每次启动和关闭mysql服务器时的详细信息,以及在操作过程中出现的严重警告信息和错误信息。 ,在Linux下的配置如下:

错误日志包含mysqld启动和关闭时间的记录。它还包含诊断消息,例如错误,警告和注释,它们在服务器启动和关闭以及服务器操作期间发生。例如,如果mysqld注意到需要自动检查或修复该表,它将向错误日志中写入一条消息。

General-Query-Log,所有连接和语句都记录到日志文件中。当您想知道客户端发生了错误并且想确切地知道客户端发送给mysqld的语句时,该日志非常有用。 mysqld按照接收到的顺序将语句记录到查询日志中。可能与执行顺序不同。这与更新日志和二进制日志不同,它们是在执行查询之后但在释放任何锁之前记录的。 MySQL 5.6版本默认关闭。

Binary-Log,主要用于记录数据库更改,例如表创建操作或表数据更改事件。对于主从复制过程,将主服务器上的二进制日志发送到从服务器,然后从服务器执行这些事件。确保主服务器和从服务器的数据同步。

在MySQL 5.6版中,默认情况下此日志处于关闭状态。

慢查询日志慢查询日志主要记录在mysql中执行需要很长时间的sql。默认阈值为10秒。慢查询日志将记录执行时间超过10秒的SQL语句。慢查询日志可以在mysql配置文件中配置该配置,默认情况下未启用。

打开慢速查询日志。通过调整时间,可以记录性能不佳的SQL语句,对其进行分析和优化,这对于提高系统性能非常有帮助。

! []()

免责声明:本文已转载。重印本文的目的是为了更广泛地传播信息。

该网站是个人学习和交流平台。该网站上的某些文章是从相关媒体转载给网站管理员和网民的。它们不用于任何商业目的。内容是作者的个人观点,并不表示本网站同意观点及其真实性承担责任。

我们已尽可能通知作者和资料来源,但是由于能力或疏忽,作者和资料来源可能有误,或者您可能不希望自己的作品在我们的网站上发表。对于这些问题,我们深表歉意。如果您在我们的网站上发现此类问题,请及时与我们联系。我们将根据您的要求立即更正或删除相关内容。本网站对此声明拥有最终解释权。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值