如何将日志发送到表,以便我们可以在Workbench中查看它们?

时间:2011-11-07 07:42:45

标签: mysql logging mysql-workbench

在日志标签中,显示:

  

您当前的登录目的地被设置为文件。   对于内工作台查看日志必须将它们配置成被发送到表。   此选项仅在MySQL 5.1版及更高版本可用。   前的详细信息读http://dev.mysql.com/doc/refman/5.1/en/log tables.html

我是MYSQL的新手,目前正在使用Workbench。我需要查看查询日志。能否请您一步一步地告诉我如何使日志选项卡显示查询日志?

由于

2 个答案:

答案 0 :(得分:5)

在Workbench中管理服务器时,请转到CONFIGURATION下的Options File页面。然后转到“日志文件”选项卡。您可以在其中配置几个选项以启用日志。与记录到表相关的那个称为日志输出(显示在“高级日志选项”下)。您必须将其设置为TABLE。然后启用所需的日志:

  • 常规日志(记录对数据库的所有查询),在“激活记录”下(确保已选中)。
  • 慢速日志(记录所有花费的时间超过您设置的阈值的查询),在“慢查询日志选项”下(检查选项slow-query-log并在longquerytime字段中设置阈值,以秒为单位) )。

请记住在完成更改后单击“应用”按钮,然后重新启动服务器以重新加载新设置。

请记住,无法在表中记录错误日志。即将推出的Workbench版本(5.2.36)也将支持日志文件。

答案 1 :(得分:0)

通常您应该使用特殊参数启动MySQL服务器或编辑配置文件,但您也可以在正在运行的服务器上更改它。不要忘记之后在配置文件中设置变量,以便在服务器重新启动后保留设置。

来自MySQL Documentation: Log-destinations

  

运行时的日志控制。有几个系统变量与之相关   记录表和文件并启用对日志记录的运行时控制:

     

全局log_output系统变量指示当前日志记录   目的地。可以在运行时修改它以更改目标。

     

全局general_log和slow_query_log变量指示是否   启用(ON)或禁用常规查询日志和慢速查询日志   (OFF)。您可以在运行时设置这些变量来控制是否   日志已启用。

     

全局general_log_file和slow_query_log_file变量   指示常规查询日志和慢查询日志文件的名称。   从MySQL 5.1.29开始,您可以在服务器启动时设置这些变量   在运行时更改日志文件的名称。在MySQL 5.1.29之前,   你可以只在运行时设置这些变量,但是--log和   --log-slow-queries选项可以在启动时使用文件名参数给出,以更改日志文件名的默认值。

     

会话sql_log_off变量可以设置为ON或OFF以禁用   或为当前连接启用常规查询记录。

通常你想要设置

set @@global.log_table = 'TABLE';