【数据库 | 您所在的位置:网站首页 › mysql怎么查看数据库密码记录 › 【数据库 |
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 实验室设备网 版权所有 |