我知道可以将MySQL设置为临时记录表中的所有查询,例如使用以下查询:
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
将创建一个名为mysql.general_log的新表,其中将记录所有运行在MySQL中的内容。这对于调试建议是很好的,但是是否有一种方法可以为每个数据库拥有一个不同的日志表?
例如,数据库wordpress应该在wordpress.general_log上有日志。数据库myawesomeapp应该登录到myawesomeapp.general_log,这可能吗?多
我的一个RDS mysql数据库给了我关于占用大量空间的缓慢查询日志的警告。
日志每小时旋转一次,并包含十几次重复:
/rdsdbbin/mysql/bin/mysqld, Version: 5.6.13-log (MySQL Community Server (GPL)). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
是什么导致了这一切?
这涉及到运行在Windows 2016上的MySQL 5.7。
我正在使用MySql中的TRUNCATE语句来缩小大型日志文件(名为"mySite.log")的大小,该文件位于:
ProgramData/MySQL/MySQL Server 5.7/Data/
我研究和实施了以下几点:
mysql> SET GLOBAL general_log=OFF;
这是成功的。
但是,我试图确定我在上面所述目录中看到的大型日志文件实际上是通用查询日志文件。它将数据库的名称作为文件名("MySite.log")的前缀,就像同一目录中的其他文件(..bin‘s和.err
我已经在MySQL中启用了查询和MySQL日志记录,但是我每秒钟都会收到新的条目类型:
2 Query show global status
110925 21:18:18 1 Query select 1
我注意到这些条目来自MySQL工作台(可能是服务器状态监视器)
您知道是否可以从MySQL工作台过滤活动吗?
或者从一个数据库记录查询?
MySql 5.5有一些日志记录选项,其中包括我不想使用的带有Binlog选项的“二进制日志文件”和我想使用的“查询日志文件”。
但是,使用该数据库中的一个表的一个程序每天用50+Mb填充这个日志文件,所以我希望该表被排除在这个日志中。
这是可能的吗,还是安装另一个MySql版本然后移动这个表的唯一方法?
谢谢,亚历克斯