【数据库 您所在的位置:网站首页 mysql怎么查看数据库密码记录 【数据库

【数据库

2024-06-13 15:27| 来源: 网络整理| 查看: 265

1、正在执行的sql语句

使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到。好处是不用设置,不会保存。

跳转到 information_schema 表

-- 跳转到 information_schema 数据库 USE information_schema; -- 显示进程列表 SHOW PROCESSLIST;

或者:

SELECT * FROM information_schema.`PROCESSLIST` WHERE info IS NOT NULL;

2、开启日志模式 2.1、设置日志输出位置以及开启日志 -- log_output=’FILE’ 表示将日志存入文件,默认值是FILE  -- log_output=’TABLE’表示将日志存入数据库,这样日志信息就会被写入到 mysql.slow_log 表中. -- 将日志写入表中 SET GLOBAL log_output = 'TABLE'; -- 开启日志 SET GLOBAL general_log = 'ON';

-- SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF'; //日志关闭

2.2、查询

注意:查询或刷新 mysql.general_log 表都会生成日志,查询时人为过滤一下。

SELECT * FROM mysql.general_log ORDER BY event_time DESC; 2.3、清空表

mysql.general_log 表不允许使用 DELETE 进行清空操作,否则出现以下报错,所以只能使用 TRUNCATE

DELETE FROM mysql.general_log; ------------------------------------------------------------ [SQL] DELETE FROM mysql.general_log; [Err] 1556 - You can't use locks with log tables.

 

-- 截断的表的名称或要删除其全部行的表的名称。 TRUNCATE TABLE mysql.general_log; 2.4、关闭日志

注意:在查询到所需要的记录之后,应尽快关闭日志模式,占用磁盘空间比较大

-- 将日志写入表中 SET GLOBAL log_output = 'TABLE'; -- 关闭日志 SET GLOBAL general_log = 'OFF'; 2.5、查看与操作 mysql.general_log 相关参数

相关参数一共有3:general_log、log_output、general_log_file

-- 查看日志是否开启 SHOW VARIABLES LIKE 'general_log'; -- 开启日志功能 SET GLOBAL general_log='ON'; -- 关闭日志功能 SET GLOBAL general_log='OFF'; -- 看看日志文件保存位置 SHOW VARIABLES LIKE 'general_log_file'; -- 设置日志文件保存位置 C:\ProgramData\MySQL\MySQL Server 5.5\Data\DESKTOP-NUR8UC7.log SET GLOBAL general_log_file='C:\\tmp.log'; -- 看看日志输出类型 TABLE 或 FILE SHOW VARIABLES LIKE 'log_output'; -- 设置输出类型为 TABLE SET GLOBAL log_output='TABLE'; -- 设置输出类型为FILE SET GLOBAL log_output='FILE';

 

2.6、mysql.general_log 文件处理

当开启 mysql.general_log 后,mysql中的所有操作将会记录下来,这样 mysql.general_log 文件就会产生很大的文件,此时需要清空此文件来释放磁盘空间

2.6.1、错误操作

网上有人建议直接删除该文件,不重启系统也会自动生成,但是通过测试,系统不会自动生产该文件

如果删除掉,重启mysql以后,general_log出现异常。

26.2、正确的操作

清空该表,具体操作如下:

-- 关闭日志 SET GLOBAL general_log = 'OFF'; -- 将表 general_log 名称修改为表 general_log2 RENAME TABLE mysql.general_log TO mysql.general_log2; -- 清空 general_log2中的数据 DELETE FROM mysql.general_log2;

注意:当DELETE FROM mysql.general_log2执行删除表数据时,发现操作系统的数据文件还是存在的,需要手动删除该数据文件,再继续下面数据操作步骤

-- 优化 general_log2 表,重新利用未使用的空间,并整理数据文件的碎片 OPTIMIZE TABLE general_log2; -- 将 general_log2 的名称改回 general_log RENAME TABLE mysql.general_log2 TO mysql.general_log; -- 开启日志 SET GLOBAL general_log = 'ON';

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有