在线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语句,对其进行分析和优化,这对于提高系统性能非常有帮助。
! []()
免责声明:本文已转载。重印本文的目的是为了更广泛地传播信息。
该网站是个人学习和交流平台。该网站上的某些文章是从相关媒体转载给网站管理员和网民的。它们不用于任何商业目的。内容是作者的个人观点,并不表示本网站同意观点及其真实性承担责任。
我们已尽可能通知作者和资料来源,但是由于能力或疏忽,作者和资料来源可能有误,或者您可能不希望自己的作品在我们的网站上发表。对于这些问题,我们深表歉意。如果您在我们的网站上发现此类问题,请及时与我们联系。我们将根据您的要求立即更正或删除相关内容。本网站对此声明拥有最终解释权。