精华内容
下载资源
问答
  • 的帮助下,您可以自己诊断您操作系统可能存在的普遍性问题,即使您是计算机的初学者,您也可以使用 System Repair Engineer (SREng) 的智能扫描功能将您系统的概况生成一份简要的日志,然后将该日志传送给对操作系统...
  • 错误日志

    2019-11-21 07:20:58
    错误日志包含mysqld启动和关闭时间的记录。它还包含诊断消息,例如错误,警告注释,它们在服务器启动和关闭期间以及服务器运行期间发生。例如,如果mysqld注意到需要自动检查或修复表,它将向错误日志中写入一条...

    本节讨论如何配置MySQL服务器以将诊断消息记录到错误日志中。有关选择错误消息字符集或语言的信息,请参见 第10.6节“错误消息字符集”或 第10.12节“设置错误消息语言”

    错误日志包含mysqld 启动和关闭时间的记录。它还包含诊断消息,例如错误,警告和注释,它们在服务器启动和关闭期间以及服务器运行期间发生。例如,如果mysqld注意到需要自动检查或修复表,它将向错误日志中写入一条消息。

    在某些操作系统上,如果mysqld异常退出,则错误日志包含堆栈跟踪 。该跟踪可用于确定mysqld退出的位置。请参见 第28.5节“调试和移植MySQL”

    如果用于启动mysqld,则 mysqld_safe可能会将消息写入错误日志。例如,当mysqld_safe注意到异常的mysqld退出时,它将重新启动 mysqld并将mysqld restarted消息写入错误日志。

    以下各节讨论配置错误日志记录的各个方面。在讨论中,“ 控制台 ”是指 stderr,标准错误输出。除非标准错误输出已重定向到其他目标,否则这是您的终端或控制台窗口。

    服务器解释的选项决定Windows和Unix系统在何处写入错误消息。确保使用适合您平台的信息配置错误日志记录。

    Windows上的错误记录

    在Windows上,mysqld的使用 --log-error, --pid-file和 --console选项,以确定是否mysqld的写入错误日志到控制台或文件,并且,如果到一个文件,文件名:

    • 如果--console给出,则 mysqld将错误日志写入控制台。( 如果同时提供--console--log-error两者,则优先于,并且以下各项 --log-error均不适用。在MySQL 5.7之前,这是相反的: --log-error优先于--console。)

    • 如果--log-error未给出,或者给出时未命名文件 ,则除非指定了该选项,否则mysqld 会将错误日志写入host_name.err数据目录中 命名的文件 --pid-file。在这种情况下,文件名是PID文件的基本名称,.err在数据目录中带有后缀。

    • 如果--log-error给定一个文件名,则mysqld会将错误日志写入.err数据目录下的该文件(如果后缀名不带后缀,则添加后缀),除非给出绝对路径名以指定其他位置。

    如果服务器将错误日志写入控制台,则会将 log_error系统变量设置为 stderr。否则,服务器将错误日志写入文件并设置 log_error为文件名。

    另外,服务器默认情况下会将事件和错误消息写入应用程序日志中的Windows事件日志:

    • 标记为Error, Warning和的条目Note将写入事件日志,但不会写入消息(例如来自各个存储引擎的信息语句)。

    • 事件日志条目的来源MySQL

    • 使用log_syslog系统变量控制写入事件日志的信息,该 系统变量在Windows上默认为启用。请参见 第5.4.2.3节“错误记录到系统日志”

    在Unix和类似Unix的系统上记录错误

    在Unix和类似Unix的系统上,mysqld使用该--log-error选项来确定mysqld是否将错误日志写入控制台或文件,如果写入文件,则写入文件名:

    • 如果--log-error未给出,则 mysqld将错误日志写入控制台。

    • 如果--log-error给出时未命名文件,则mysqld将错误日志写入host_name.err 数据目录中命名的文件 。

    • 如果--log-error给定一个文件名,则mysqld会将错误日志写入.err数据目录下的该文件(如果后缀名不带后缀,则添加后缀),除非给出绝对路径名以指定其他位置。

    • 如果--log-error在选项文件中给出的[mysqld], [server]或 [mysqld_safe]部分, mysqld_safe的查找并使用的选项,并将其传递到mysqld的​​​​​​​

    注意

    在Yum或APT软件包安装中,通常/var/log 使用诸如log-error=/var/log/mysqld.log服务器配置文件中的选项 来配置错误日志文件位置。从选项中删除文件名将导致host_name.err 使用数据目录中的 文件。

    如果服务器将错误日志写入控制台,则会将 log_error系统变量设置为 stderr。否则,服务器将错误日志写入文件并设置 log_error为文件名。

    错误记录到系统日志

    可能mysqld将错误日志写入系统日志(Windows,syslogUnix和类似Unix的系统上的事件日志 )。为此,请使用以下系统变量:

    • log_syslog:启用此变量可将错误日志发送到系统日志。(在Windows上,log_syslog默认情况下启用。)

      如果log_syslog启用,则以下系统变量也可以用于更好的控制。

    • log_syslog_facilitysyslog消息的默认功能是 daemon。设置此变量以指定其他功能。

    • log_syslog_include_pid:是否在每行syslog输出中包括服务器进程ID 。

    • log_syslog_tag:此变量定义了一个标签,该标签将添加到 消息中的服务器标识符(mysqld)中syslog。如果已定义,则标签将以前导连字号附加到标识符。

    注意

    错误记录到系统日志中可能需要其他系统配置。请查阅所用平台的系统日志文档。

    在Unix和类似Unix的系统上,syslog也可以使用 mysqld_safe控制对to的输出 ,它可以捕获服务器错误输出并将其传递给syslog

    注意

    不建议使用mysqld_safe进行 syslog错误记录。您应该改用服务器系统变量。

    mysqld_safe的有三个错误日志选项, --syslog, --skip-syslog,和--log-error。没有日志选项或带有 --skip-syslog 日志的默认值是使用默认日志文件。要明确指定使用的错误日志文件中,指定 给 mysqld_safe的,然后进行整理 mysqld的消息写入日志文件。要使用,请指定 选项。对于 输出,可以使用;指定标签 。这会附加到服务器标识符前,并带有连字符。 --log-error=file_namesyslog--syslogsyslog--syslog-tag=tag_valmysqld

    错误日志过滤

    log_error_verbosity系统变量控制服务器详细程度,以便将错误,警告和注释消息写入错误 log。允许的值为 1(仅错误),2(错误和警告),3(错误,警告和注释),默认值为 3.如果 value 大于 2,则服务器会记录中止的连接和拒绝尝试新链接的错误。

    错误日志消息格式

    错误日志消息中包含的ID是mysqld中负责编写消息的线程的ID 。这表明服务器的哪一部分产生了该消息,并且与常规查询日志和慢速查询日志消息(包括连接线程ID)一致。

    log_timestamps系统变量控制在写入错误日志消息时间戳的时区(以及一般查询日志和慢查询日志文件)。允许的值为 UTC(默认值)和 SYSTEM(本地系统时区)。

    错误日志文件刷新和重命名

    如果使用FLUSH ERROR LOGSFLUSH LOGS或 mysqladmin flush-logs刷新日志,则服务器将关闭并重新打开它正在写入的任何错误日志文件。要重命名错误日志文件,请在刷新前手动进行重命名。刷新日志,然后使用原始文件名打开一个新文件。例如,假设日志文件名为 host_name.err,以重命名该文件并创建一个新文件,请使用以下命令: 

    mv host_name.err host_name.err-old
    mysqladmin flush-logs
    mv host_name.err-old backup-directory

    在Windows上,请使用 rename而不是 mv

    如果错误文件的位置不可由服务器写入,则日志刷新操作将无法创建新的日志文件。例如,在Linux上,服务器可能将错误日志写入/var/log/mysqld.log其中/var/logroot拥有,写不进去 。有关处理这种情况的信息,请参见第5.4.7节“服务器日志维护”

    如果服务器未写入命名的错误日志文件,则刷新日志时不会发生错误日志文件重命名。

     

     

    展开全文
  • 错误日志包含mysqld的开启关闭时间的记录。 也包含了诊断信息,包括发生在启动,关闭,运行服务器期间的错误,警告,注释。 例如,如果mysqld注意到需要自动检查或修复表,会向错误日志中写入一条信息。 在某些...

    如何配置MySQL服务器以将诊断信息记录到错误日志。

    • 错误日志包含mysqld的开启和关闭时间的记录。

      也包含了诊断信息,包括发生在启动,关闭,运行服务器期间的错误,警告,注释。

      例如,如果mysqld注意到需要自动检查或修复表,会向错误日志中写入一条信息。

    • 在某些操作系统,当mysqld异常退出,错误日志包含堆栈跟踪。这个跟踪被用来确定mysqld退出的位置。

    • 如果用于启动mysqld,mysqld_safe会写信息到错误日志。

      例如,当mysqld_safe注意到mysqld异常退出,它会重启mysqld同时向错误日志写入一条mysqld restarted的信息

    • 下列节讨论了配置错误日志记录的各个方面。在讨论中,控制台意味着标准错误输出。

      除非标准错误输出被重定向到其他目标,否则这是你的终端或者控制台窗口。

    • 服务器解释的选项决定Windows和Unix系统将错误信息写入到何处的方式有所不同。

      确保使用适合你的平台信息配置错误日志记录。


    1. Error Logging on Unix and Unix like Systems

    在unix和类unix系统上, mysqld 使用–log-error选项去决定 mysqld 是否将错误日志写入到控制台还是文件中,

    如果是文件,则输入文件名:

    • 如果–log-error没有给出,将错误日志写入控制台
    • 如果–log-error给出时未命名文件,mysqld 将错误日志写入到数据目录下的host_name.err的文件中
    • 如果–log-error给定一个文件名,mysqld 将错误日志写入到数据目录下的该文件(如果文件名后缀没有.err自动写入),除非给出绝对路径去指定不同的位置。
    • 如果–log-error在选项文件[mysqld],[server]和[mysqld_safe]中给定,mysqld_safe查找并使用的选项,同时传递给mysqld

    注意: 对于用Yum或者APT软件包安装,通常在服务器配置文件中使用诸如log-err=/var/log/mysqld.log的选项来配置错误日志文件位置到/var/log下。从选项中移除文件名,会导致数据目录下的host_name.err文件被使用。

    如果服务器将错误日志写到控制台中,它会将log_error系统变量设置为stderr。

    否则,服务器将错误日志写入到文件中同时设置文件名为log_error。


    2. Error Logging to System Log

    错误日志记录到系统日志

    mysqld写错误日志到系统日志,使用下列系统变量

    (Windows上是the Event Log ,Unix和类Unix系统上是syslog)

    • log_syslog: 开启此变量去发送错误日志到系统日志中

      如果开启,下列系统变量可以用来更好地控制。

      • log_syslog_facility: syslog信息的默认功能是守护进程。设置这个变量去指定其他功能。
      • log_syslog_include_pid: 是否把服务器进程ID包含在syslog每一行的输出
      • log_syslog_tag: 此变量定义了一个标签,该标签将添加到syslog消息中的服务器标识符(mysqld)中。如果已定义,则标签将以前导连字号附加到标识符。

    Note

    Error logging to the system log may require additional system configuration.

    错误日志记录到系统日志可能需要额外的系统配置。

    Consult the system log documentation for your platform.

    查阅所用平台的相关文档。

    在Unix和类Unix系统,mysqld_safe可以用来控制syslog的输出,可以捕捉服务器错误输出并把它传递给syslog。

    Note

    Using mysqld_safe for syslog error logging is deprecated;

    不推荐使用mysqld_safe来进行syslog错误记录

    you should use the server system variables instead.

    你应该改为使用服务器系统变量配置。

    mysqld_safe的有三个错误日志选项, --syslog--skip-syslog,和--log-error

    • 默认没有日志选项或带有 --skip-syslog是使用默认日志文件。
    • 要明确指定使用的错误日志文件中,指定 --log-error=file_name mysqld_safe,然后整理 mysqld的消息写入日志文件。
    • 要使用syslog,请指定--syslog 选项。对于 syslog输出,可以使用--syslog-tag=tag_val指定标签 。这会附加到``mysqld`服务器标识符的前面,并带有连字符。

    3. Error Log Message Flitering

    错误日志过滤

    log_err_verbosity系统变量控制服务器详细程度,写错误、警告、注释信息到错误日志。

    log_err_verbosity允许值 记录范围
    3 (default) errors,warnings,notes
    2 erros and warnings
    1 errors

    只要值大于2,服务器记录新连接尝试的中止连接和访问被拒绝的错误


    4. Error Log Message Format

    错误日志信息格式

    The ID included in error log messages is that of the thread within mysqld responsible for writing the message.

    错误日志信息中包含的ID是mysqld 服务中负责编写消息的线程id

    This indicates which part of the server produced the message, and is consistent with general query log and slow query log ,which include the connection thread id

    这表明服务器的哪部分生产消息,与常规查询日志和慢查询日志消息一致,包括连接线程id

    The log_timestamps system variable control the time zone of timestamps in messages written to the error log(as well as to general query log and slow query log files).Permitted values are UTC(the default) and SYSTEM(local system time zone).

    log_timestamps 系统变量控制了写入到错误日志的消息的时间戳的时区(对于常规查询日志和慢查询日志文件一样)

    允许值为UTC(默认),SYSTEM(本地系统时区)

    log_timestamps允许值 代表功能
    UTC 默认
    SYSTEM 本地系统时区

    5. Error Log File Flushing and Renaming

    错误日志文件刷新和重命名

    如果你使用FLUSH ERROR LOGSFLUSH LOGS 语句或者一条mysqladmin flush-logs 命令来刷新错误日志,服务器会关闭并重新打开任何正在写入的日志。要重命名一个错误日志文件,要在刷新之前手动地做这些。刷新日志然后重新开启一个带有原始文件名的新文件。

    例如,假设一个日志文件名为*host_name*.err,使用下列命令重命名这个文件并建立一个新的文件

    mv host_name.err host_name.err-old
    mysqladmin flush-logs
    mv host_name.err-old backup-directory
    

    在Windows上,使用rename.

    如果错误日志文件的位置不能被服务器写入,则日志刷新操作无法创建新的日志文件。

    例如,在Linux上,服务器可能会将错误日志写入到/var/log/mysqld.log文件下,/var/log/目录所有者是root,不能被mysqld写入。

    如果服务器未写入命名好的错误日志文件,则刷新错误日志时不会发生任何错误日志文件重命名。

    展开全文
  • 它还包含诊断消息,例如错误,警告注释,它们在服务器启动和关闭期间以及服务器运行期间发生。例如,如果mysqld注意到需要自动检查或修复表,它将向错误日志中写入一条消息。在某些操作系统上,如果mysqld异常退出...

    错误日志包含mysqld 启动和关闭时间的记录。它还包含诊断消息,例如错误,警告和注释,它们在服务器启动和关闭期间以及服务器运行期间发生。例如,如果mysqld注意到需要自动检查或修复表,它将向错误日志中写入一条消息。

    在某些操作系统上,如果mysqld异常退出,则错误日志包含堆栈跟踪 。该跟踪可用于确定mysqld退出的位置。

    如果用于启动mysqld,则 mysqld_safe可能会将消息写入错误日志。例如,当mysqld_safe注意到异常的mysqld退出时,它将重新启动 mysqld并将mysqld restarted消息写入错误日志。

    错误日志组件配置

    在MySQL 8.0中,错误记录使用第5.5节“ MySQL服务器组件”中所述的MySQL组件体系结构 。错误日志子系统由执行日志事件过滤和写入的组件以及配置要启用哪些组件以实现所需的日志记录结果的系统变量组成。

    基于组件的错误日志记录提供以下功能:

    1、日志事件可以由过滤器组件过滤,以影响可用于写入的信息。

    2、日志事件由接收器(写入器)组件输出。可以启用多个接收器组件,以将错误日志输出写入多个目标。

    3、内置的过滤器和编写器组件结合在一起以实现默认的错误日志格式。

    4、可加载的编写器允许以JSON格式记录。

    5、可加载的编写器允许登录到系统日志。

    6、系统变量控制要启用的日志组件以及每个组件的运行方式。

    log_error_services哪个日志组件系统变量控制以启用错误日志记录。该变量可以包含具有0、1或许多元素的列表。在后一种情况下,元素可以用分号或(从MySQL 8.0.12开始)逗号分隔,并可选地后跟空格。给定的设置不能同时使用分号和逗号分隔符。组件顺序很重要,因为服务器按照列出的顺序执行组件。

    默认情况下,log_error_services 具有以下值:

    mysql> SELECT @@GLOBAL.log_error_services;

    +----------------------------------------+

    | @@GLOBAL.log_error_services |

    +----------------------------------------+

    | log_filter_internal; log_sink_internal |

    +----------------------------------------+

    该值表示日志事件首先通过内置过滤器组件 log_filter_internal,然后再通过内置日志记录器组件 log_sink_internal。过滤器修改日志事件,该事件由log_error_services值中稍后命名的组件看到 。接收器是日志事件的目的地。通常,接收器将日志事件处理为具有特定格式的日志消息,并将这些消息写入其关联的输出,例如文件或系统日志。

    注意

    分配log_error_services 不包含编写器组件的值将导致从该点开始不写入日志输出。

    log_error_services值 的最后一个组成部分应该是writer。如果最终组件是过滤器,则该组件无效,因为过滤后的事件不会发送到任何编写器。

    log_error_verbosity 和 log_error_suppression_list实现默认的错误日志过滤和输出行为。这些组件的操作受其他服务器选项和系统变量影响:

    输出目标由--log-error选项确定 (在Windows上,由--pid-file和 --console)。它们确定是将错误消息写入控制台还是文件,如果写入文件,则确定错误日志文件名。

    log_error_verbosity和 log_error_suppression_list 系统变量影响哪些类型的日志事件 log_filter_internal许可证或者抑制。

    要更改用于错误日志记录的日志组件集,请根据需要加载组件并修改 log_error_services值。添加或删除日志组件受以下约束:

    要启用日志组件,请首先使用加载它 INSTALL COMPONENT(除非它是内置的或已经加载的),然后在log_error_services 值中列出该组件。

    对于允许log_error_services值包含的组件 ,必须知道它。如果组件是内置的,或者是可加载的并且已经使用加载的,则该组件是已知的 INSTALL COMPONENT。尝试在服务器启动时命名未知组件会导致 log_error_services其设置为默认值。尝试在运行时命名未知组件会产生错误,并且该 log_error_services值保持不变。

    要禁用日志组件,请将其从log_error_services值中删除 。然后,如果该组件是可加载的,并且您还想卸载它,请使用UNINSTALL COMPONENT。

    尝试用于UNINSTALL COMPONENT卸载仍在log_error_services值中命名的可加载组件会 产生错误。

    例如,要使用系统日志编写器(log_sink_syseventlog)而不是默认编写器(log_sink_internal),请首先加载编写器组件,然后修改 log_error_services值:

    INSTALL COMPONENT 'file://component_log_sink_syseventlog';

    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_syseventlog';注意

    用于加载日志组件的URN INSTALL COMPONENT是前缀为的组件名称file://component_。例如,对于 log_sink_syseventlog组件,相应的URN为 file://component_log_sink_syseventlog。

    可以配置多个日志记录器,从而可以将输出发送到多个目标。要除了(而不是代替)默认写入器之外还启用系统日志写入器,请按以下方式设置 log_error_services值:

    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal; log_sink_syseventlog';

    要恢复为仅使用默认编写器并卸载系统日志编写器,请执行以下语句:

    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal;

    UNINSTALL COMPONENT 'file://component_log_sink_syseventlog';

    要配置在每次服务器启动时启用的日志组件,请使用以下过程:

    如果组件是可加载的,请在运行时使用加载它 INSTALL COMPONENT。加载组件会将其注册到 mysql.component系统表中,以便服务器自动加载它以用于后续启动。

    log_error_services 在启动时 设置值以包括组件名称。在服务器my.cnf文件中设置该值,或使用SET PERSIST,为正在运行的MySQL实例设置该值,并保存该值以用于随后的服务器重启。设置的值在 my.cnf下次重启时生效。使用设置的值将 SET PERSIST立即生效,并在随后的重启中生效。

    假设您想要配置,为每个服务器启动时,使用JSON日志writer(中log_sink_json除)内置日志过滤器和writer(log_filter_internal, log_sink_internal)。如果未加载JSON书写器,请首先加载它:

    INSTALL COMPONENT 'file://component_log_sink_json';

    然后设置log_error_services为在服务器启动时生效。您可以在my.cnf以下位置进行设置 :

    [mysqld]

    log_error_services='log_filter_internal; log_sink_internal; log_sink_json'

    或者您可以使用SET PERSIST以下命令进行设置 :

    SET PERSIST log_error_services = 'log_filter_internal; log_sink_internal; log_sink_json';

    中命名的组件的顺序 log_error_services非常重要,尤其是相对于过滤器和编写器的相对顺序而言。考虑以下 log_error_services值:

    log_filter_internal; log_sink_1; log_sink_2

    在这种情况下,日志事件将传递到内置过滤器,然后传递给第一个编写器,然后传递给第二个编写器。两位作者都接收到过滤后的日志事件。

    将其与此log_error_services值进行比较 :

    log_sink_1; log_filter_internal; log_sink_2

    在这种情况下,日志事件将传递到第一个编写器,然后传递到内置过滤器,再传递到第二个编写器。第一作者收到未过滤的事件。第二个编写器接收已过滤的事件。如果希望一个日志包含所有日志事件的消息,而另一个日志仅包含部分日志事件的消息,则可以用这种方式配置错误日志记录。

    展开全文
  • MySQL 的数据库错误日志设置

    千次阅读 2019-04-29 14:51:46
    这些错误日志包含了MySQL 启动和关闭的次数.也包含了错误,警告,注释的相关诊断信息. MySQL 在运行时,如果你的MySQL 中的表需要自动检查或者修复.这些信息都会写入到error log 里面. 在某些的操作系统,错误日志还...

    1. 数据库错误日志设置

    概述

    这篇文章主要讨论怎样配置MySQL 的诊断日志信息.还有对于设置错误信息的字符集和语言设置.

    这些错误日志包含了MySQL 启动和关闭的次数.也包含了错误,警告,和注释的相关诊断信息.
    MySQL 在运行时,如果你的MySQL 中的表需要自动检查或者修复.这些信息都会写入到error log 里面.

    在某些的操作系统,错误日志还包含MySQL 非正常的退出的堆栈信息. 这些trace 可以用于调试和debugg MySQL.

    如果启动MySQL 时,如果MySQL 没有正常关闭,则也会往error log里面写入信息.

    下面的章节会详细介绍错误日志的配置和描述.

    2. MySQL 的error log 组件

    想要设置error log 当然对于MySQL error log 的组件要有一定的了解.

    在 MySQL 8.0 ,错误日志的架构在," MySQL 的组件" 有说明.错误日志的子系统包含有事件过滤器和写日志功能.使用这些组件可以实现输出所需的日志资源.

    对于错误日志选择什么样的组件. 对于特定日志和JSON 日志的写入,请参考 “错误日志记录” 和" JSON 日志格式" ,对于附加的组件,请参见 “错误日志 组件” 章节.

    对于基于组件的错误日志提供了以下功能:

    • 可以用筛选器筛选错误日志,可以输出指定信息.

    • 日志可以用sink(写入)组件进行输出,可以启用多个写入组件,将错误日志输出到多个目的地.

    • 过滤器和编写器组件组合起来就可以设定特定的错误格式.

    • 可以配置写组件到系统日志.

    • 可以配置写组件为JSON 格式.

    2.1. 配置规则和范例

    2.1.1. 参数次序说明

    通过系统变量来配置 日志组件的功能是否开启 和配置 规则.

    log_errot_services 系统变量控制要启用哪些日志组件,所以log_errot_services 日志顺序很重要.执行顺序是从左往右依次执行.

    • 对于默认值为:
    mysql> SELECT @@global.log_error_services;
    +----------------------------------------+
    | @@global.log_error_services            |
    +----------------------------------------+
    | log_filter_internal; log_sink_internal |
    +----------------------------------------+
    1 row in set (0.00 sec)
    

    说明:以上的意思是首先通过log_filter_internal 功能组件.然后通过日志构建组件,log_sink_internal. 格式化成特定的格式并写入相关输出目的地,如文件或系统日志.

    :::alert-warning
    如果 log_error_services 参数没有指定写组件,将没有日志输出.
    :::

    log_filter_internal 和log_sink_internal 组合实现了默认的错误日志过滤和输出.这些组件的动作受到其他服务器选项和系统变量的影响:

    输出目的地由log-error 决定(在windows 上 ,由pid-file 和console决定).这些参数决定是否把错误写入控制台或者文件,如果写入文件,则设置错误日志的文件名.

    2.1.2. 过滤规则

    1. log_error_verbosity 变量影响到log_filter_internal 的过滤规则.

    2.1.3. 设置变量值和加载组件

    如果想要更改错误日志.只需要根据规则修改log_error_services 值.增加或者减少日志组件要根据以下几个规则.

    • 要开启日志组件,首先使用install component 加载此功能.然后在log_error_services 中列出需要的组件.

    设置log_error_services 值的时候,组件必须是已知的组件名.否则,如果服务器在启动之后如果服务器不能识别这个组件,将会导致报错,并且设置log_error_services 参数为默认值.

    • 如果想要禁用日志组件,请删除log_error_services 的所有值.如果这个日志组件是可加载的,使用UNINSTALL COMMPONET 语句卸载这个插件.

    :::alert-warning
    如果log_error_services 中的值未删除,尝试删除组件将会导致错误.
    :::

    2.1.3.1. 更改参数写入驱动器

    如果想使用系统日志写入器(log_sink_syseventlog) 而不是默认的写入器(log_sink_internal),首先先加载写入器,然后再修改log_error_services 的值. 设置

    mysql> INSTALL COMPONENT 'file://component_log_sink_syseventlog';
    Query OK, 0 rows affected (8.43 sec)
    
    mysql> SET GLOBAL log_error_services = 'log_filter_internal; log_sink_syseventlog';
    Query OK, 0 rows affected (0.02 sec)
    
    

    :::alert-warning
    这个 URN 使用了 INSTALL COMPONENT 组件使用 前缀 file://component_.
    例如:对于log_sink_sysenventlog 组件,正确的URN 是 file://component_log_sink_syseventlog.
    :::

    2.1.3.2. 如果想让日志输出到多个目的地,则需要增加log_error_services 参数像下面一样.

    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal; log_sink_syseventlog';
    

    2.1.4. 还原默认值

    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal';
    UNINSTALL COMPONENT 'file://component_log_sink_syseventlog';
    

    2.1.5. 配置开启启动

    1. 插件如果是可以加载的请运行以下命令进行加载.例如配置JSON 日志写入器.
    
    INSTALL COMPONENT 'file://component_log_sink_syseventlog';
    INSTALL COMPONENT 'file://component_log_sink_json';
    
    1. 这个组件便会注册到 mysql.component 表中.
    select * from mysql.component;
    
    1. 设置开机参数.
      可以使用两种方式:
      case1: 设置my.cnf
    [mysqld]
         log_error_services='log_filter_internal; log_sink_internal; log_sink_json'
    
     case2:命令行操作 ,并在my.cnf 设置值.
    
        SET PERSIST log_error_services = 'log_filter_internal; log_sink_internal; log_sink_json';
    

    2.2. 参数顺序

    log_filter_internal; log_sink_1; log_sink_2
    在这个例子中日志传输到内置过滤器,然后传递到第一个写入器,然后再传入第二个写入器.

    log_sink_1; log_filter_internal; log_sink_2
    这个例子是个错误示范:首先写入器1 接受全部日志,然后再传入过滤器,再传入写入器2.

    3. 配置日志输出目的地

    3.1. windows 的默认日志输出.

    再windows 服务器上 --log-error ,–pid-file 和–console 选项决定了错误日志为error log 的目的地,是console 还是file ,如果是file 则文件名是什么.

    1. 如果 --console 选项启用,默认输出就是console.如果–log-error 同时被指定,则–log-error 不会生效.

    2. 如果–log-error 没有指定,或者给了一个没有名字的文件.默认的目的地为 host_name.err 再数据目录下.除非指定了–pid-file 选项.则文件名为数据目录下 后缀文件.err 的PID 文件名.

    3. 如果–log-error 给了一个文件名.如果没有给后缀名则添加.err 后缀名.文件默认再DATA 目录下.除非使用了绝对路径进行指定.

    :::alert-warning
    如果默认的错误日志为console ,log_error 变量则为stderr ,否则 将会是个文件.
    :::

    3.2. Linux 的默认日志输出.

    再Unix 和 类Unix 系统上,MySQL 将使用–log-error 选项决定日志的输出目的地是console 或者是个文件.

    1. 如果 --log-error 没有设置,默认输出则为console.

    2. 如果–log-error 设置了没有文件名的一个文件.默认值为host_name.err 在data 目录下.

    3. 如果–log-error 给了一个文件名.如果没有给后缀名则添加.err 后缀名.文件默认再DATA 目录下.除非使用了绝对路径进行指定.

    4. 如果–log-error 设置于[mysqld],[server],或者[mysqld_safe] 章节.则MySQL j将会应用这一选项.

    :::alert-warning

    通常使用Yum 或者 APT 包安装的MySQL ,error log 在/var/log目录下面.log-error 设置为 log-error=/var/log/mysqld.log ,如果把mysqld.log 去掉,变为log-error=/var/log/ 则会导致MySQL 将会使用hostname.err 文件来记录错误日志.
    :::

    :::alert-warning
    如果默认的错误日志为console ,log_error 变量则为stderr ,否则 将会是个文件.
    :::

    4. 配置日志输出到系统日志中

    MySQL 允许把error log 配置到system log 中去.

    以下主要是配置内置过滤器和log_filter_iinternal 和 log_sink_sysenventlog 来配置错误日志.

    :::alert-warning

    在 MySQL 8.0 中,必须显式配置系统错误日志.和MySQL 5.7 以前的版本有所不同,MySQL5.7 之前默认启用了对系统日志的记录功能,并且不需要加载组件.
    :::

    1. 安装组件,启用组件
    
    INSTALL COMPONENT 'file://component_log_sink_syseventlog';
    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_syseventlog';
    ------ 如果想设置永久有效请使用以下命令.
     SET PERSIST log_error_services = 'log_filter_internal; log_sink_syseventlog';
    

    Note
    :::alert-warning

    对于系统日志进行记录需要额外的系统配置请参见系统日志相关文件.
    :::

    4.1. windows 的日志格式信息.

    错误,警告,注意条目将会写入系统日志. 存储引擎的语句将不会被记录.

    日志条目有MySQL 标志.

    4.2. Unix and Linux

    log_syslog_facility:往系统日志中写入的工具.默认为daemon.

    log_syslog_include_pid:系统日志中是否包含进程ID 信息.

    log_syslog_tag:向系统日志中记录MySQL error log 是否添加mysqld 标记,

    设置日志在MySQL 中变量名为:

    
    mysql> show variables like '%syseventlog%';
    +-------------------------+---------+
    | Variable_name           | Value   |
    +-------------------------+---------+
    | syseventlog.facility    | daemon  |
    | syseventlog.include_pid | ON      |
    | syseventlog.tag         | [MySQL] |
    +-------------------------+---------+
    3 rows in set (0.02 sec)
    

    MySQL 使用system 标签来表示非错误的情况的重要信息,例如启动关闭和设置重要的更改.包括window 上的事件日志,unix 和Linux 系统的syslog,系统消息被分配.当MySQL log_error_varbosity 设置将这些信息排除,这些信息也会打印到日志中.

    如果系统有其他配置将会丢弃information 级别的消息,或者把这些信息重定向到不同的位置.则此配置不会阻止这种行为.除非进行自定义设置.
    测试结果:

    tail -f /var/log/messages
    Apr 28 19:15:35 dbserver systemd: Stopped MySQL Server.
    Apr 28 19:15:35 dbserver systemd: Starting MySQL Server...
    Apr 28 19:15:42 dbserver qemu-ga: info: guest-ping called
    Apr 28 19:15:43 dbserver mysqld-[MySQL][13640]: /usr/sbin/mysqld (mysqld 8.0.15) starting as process 13640
    Apr 28 19:15:43 dbserver mysqld-[MySQL][13640]: CA certificate ca.pem is self signed.
    Apr 28 19:15:43 dbserver systemd: Started MySQL Server.
    Apr 28 19:15:43 dbserver mysqld-[MySQL][13640]: /usr/sbin/mysqld: ready for connections. Version: '8.0.15'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.
    Apr 28 19:15:43 dbserver mysqld-[MySQL][13640]: X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
    

    5. 配置json 日志格式

    5.1. 开启json 写入器,并使用.

    先卸载不使用的插件:

    
    mysql> select * from mysql.component;
    +--------------+--------------------+---------------------------------------+
    | component_id | component_group_id | component_urn                         |
    +--------------+--------------------+---------------------------------------+
    |            1 |                  1 | file://component_validate_password    |
    |            3 |                  3 | file://component_log_sink_syseventlog |
    |            5 |                  4 | file://component_log_sink_json        |
    +--------------+--------------------+---------------------------------------+
    3 rows in set (0.00 sec)
    
    SET PERSIST log_error_services  = ''
    UNINSTALL COMPONENT 'file://component_log_sink_syseventlog';
    
    UNINSTALL COMPONENT 'file://component_log_sink_json';
    INSTALL COMPONENT 'file://component_log_sink_json';
    
    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_json';
    ----设置永久变量
    SET PERSIST log_error_services = 'log_filter_internal; log_sink_json';
    

    可以设置以下规则,以下规则则使用json 写入器先不过滤任何日志进行全写入,然后通过内部过滤器进行json 日志写入目的地.

    SET GLOBAL log_error_services = 'log_sink_json; log_filter_internal; log_sink_json';
    

    JSON 日志写入器根据默认的log_error 的文件名为基准.加上一个.nn.json 后缀名.例如:
    log_error 的值为file_name ,则log_error_services 值为log_sink_json 的写入器,则生成的日志文件为file_name.00.json,file_name.01.json 等等.

    如果log_error 是srderr ,则json 写入器将写入控制台,如果log_json_writer 多次调用.那么都写入控制台.

    ::: alert-danger
    json 日志在MySQL 8.0.15 是无法被设置的会出现错误:
    ERROR 1210 (HY000): Incorrect arguments to SET.
    据查是个bug.
    :::

    6. 错误日志过滤器

    错误日志配置通常包括一个日志过滤器,和一个或多个日志写入器组件.
    对于过滤器提供了组件:

    log_filter_internal: 这是过滤器组件是默认启用,是由log_error_verbosity 变量设置事件的优先级进行过滤,
    dragnet.log_error_filte: 提供基于用户提供的规则的错误日志过滤规则.

    6.1. log_filter_internal :基于优先级的错误日志过滤规则.

    错误日志的冗余控制是基于优先级的日志过滤的简单形式.使用log_filter_internal 日志过滤器组件实现.设置log_error_verbosity 将会影响log_filter_internal 的过滤规则.默认情况下是启用的.但如果禁用这一选项,更改log_error_verbosity 不会有任何影响.

    log_error_verbosity 设置1(仅限错误),2(错误和警告),3(错误,警告和注释)

    log_error_verbosity 设置为2 或者更高级别,服务器将会记录关于基于不安全的语句消息.
    log_error_verbosity 设置为3 ,服务器将记录尝试终止的连接和拒绝访问的错误.

    如果使用replication ,建议将log_error_verbosity 设置为2 或者更大,以便获取更多信息用于诊断.

    如果 replication 的slave 端设置 log_error_verbosity 设置2 或者更高,slave 将打印相关的状态信息.例如: 二进制日志和复制日志的位置.当切换到另一个复制日志上,当重新连接时.

    不论log_error_verbosity 的设置如何,有些重要的系统消息都会打印到错误日志中.包括启动和关闭消息,设置的重要更改.

    MySQL 的错误日志中,系统消息被标记为"system".其他日志写入器可能遵循或不遵循相同的预定.

    6.2. log_filter_dragnet:基于规则的日志过滤器

    log_filter_dragnet 日志过滤器支持用户自定义日志过滤.如果要配置规则请设置: log_error_filter_rules 系统变量.

    首先安装log_filter_dragnet 过滤器,然后设置log_error_services

    
    INSTALL COMPONENT 'file://component_log_filter_dragnet';
    SET GLOBAL log_error_services = 'log_filter_dragnet; log_sink_internal';
    ---启动生效
     SET PERSIST log_error_services = 'log_filter_dragnet; log_sink_internal';
    

    设置规则:
    log_error_filter_rules 系统变量规则由零个或多个规则组成.每个规则是if 语句,以(.) 接数.如果变量值为空(无规则),则不进行过滤.

    Example1:规则删除信息事件,其他事件将删除source_line 字段.默认值也为这个.

    SET GLOBAL dragnet.log_error_filter_rules =
      'IF prio>=INFORMATION THEN drop. IF EXISTS source_line THEN unset source_line.';
      -- 永久设置
     SET PERSIST dragnet.log_error_fileter_rules =
      'IF prio>=INFORMATION THEN drop. IF EXISTS source_line THEN unset source_line.';
    

    ::: alert-info

    效果等同于使用当log_error_verbosity =2 时的log_sink_internal 的过滤.
    :::
    Example 2: 此规则将信息事件限制为每秒60秒不超过一个:

    
    SET GLOBAL dragnet.log_error_filter_rules = 'IF prio>=INFORMATION THEN throttle 1/60.';
    -- 永久设置
    SET PERSIST dragnet.log_error_filter_rules = 'IF prio>=INFORMATION THEN throttle 1/60.';
    
    • 删除自定义过滤语言
    SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal';
    

    ::: alert-info

    建议使用永久设置.防止重启后不生效.
    :::

    • 卸载组件
    UNINSTALL COMPONENT 'file://component_log_filter_dragnet';
    

    6.2.1. 过滤语言详细设置

    详细介绍log_filter_dragnet 的详细设置

    • 规则语言

    • 规则行为

    • 规则领域

    6.2.1.1. 规则语言

    ## 语言框架
    rule:
    IF condition THEN action
        [ELSEIF condition THEN action] ...
        [ELSE action]
    .
    ## 有多个判断语句时使用ELSEIF 条件和AND  运算符
    
    ##  条件 
    condition: {
        field comparator value
      | [NOT] EXISTS field
      | condition {AND | OR}  condition
    }
    
    ## 动作
    action: {
        drop
      | throttle {count | count / window_size}
      | set field [:= | =] value
      | unset [field]
    }
    
    ## 领域
    field: {
        core_field
      | optional_field
      | user_defined_field
    }
    
    ### 核心领域参数
    core_field: {
        time
      | msg
      | prio
      | label
      | err_code
      | err_symbol
      | SQL_state
      | subsystem
    }
    
    ### 可选领域参数
    optional_field: {
        OS_errno
      | OS_errmsg
      | user
      | host
      | thread
      | query_id
      | source_file
      | source_line
      | function
    }
    
    ### 自定义领域字符集
    user_defined_field:
        sequence of characters in [a-zA-Z0-9_] class
    
    ## 表达式参数
    comparator: {== | != | <> | >= | => | <= | =< | < | >}
    
    ## 值参数
    value: {
        string_literal
      | integer_literal
      | float_literal
      | error_symbol
      | severity
    }
    
    ### count 参数
    count: integer_literal
    window_size: integer_literal
    
    ###字符串参数
    string_literal:
        sequence of characters quoted as '...' or "..."
    
    ### 整数值参数
    integer_literal:
        sequence of characters in [0-9] class
    
    ### 浮点值参数
    float_literal:
        integer_literal[.integer_literal]
    
    ### 特殊符号参数
    error_symbol:
        valid MySQL error symbol such as ER_ACCESS_DENIED_ERROR or ER_STARTUP
    
    ### 严重级别
    severity: {
        ERROR
      | WARNING
      | INFORMATION
    }
    

    :::alert-warning
    简单的条件将字段与值 或者测试字段的存在性进行比较,若要构造更负载的条件,请使用AND 和 OR 元素安抚.这两个运算符由相同的优先级. 从左到右求值.
    :::

    ::: alert-info

    要转义字符串的字符,请在前面加上()
    :::

    • 事件严重值1,2,3 可以指定为错误,警告,信息.符号与prio 字段进行比较时才能识别.

    IF prio == INFORMATION THEN …
    IF prio == 3 THEN …

    • 错误代码也可以使用数字形式指定. ER_STARTUP 是错误1408 的符号名,

    IF err_code == ER_STARTUP THEN …
    IF err_code == 1408 THEN …
    如果符号名称被加上了引号("),也就变成了普通的字符串,这样这种字符串是没有特殊意义的,log_filter_dragnet 不会解释成特殊的数值.

    6.2.2. 规则行为

    支持的操作为以下操作

    1. drop: 删除当前日志事件(不记录).
    2. threottl: 对于匹配特定条件的事件应用速率限制减少日志的冗余.参数为count 或 count/window_size 的形式指定一个速率,count 值表示每个时间段允许记录的事件数量.window_size 值单位为秒,如果省略则为60秒.

    E1: 这条规则将插件关闭消息进行节流,每60 秒5条.

    IF err_code == ER_PLUGIN_SHUTTING_DOWN_PLUGIN THEN throttle 5.
    

    E2: 将错误和警告限制为每小时1000 条,信息消息限制为每小时100 条.

    
    IF prio <= INFORMATION THEN throttle 1000/3600 ELSE throttle 100/3600.
    
    1. set: 为字段赋值(如果字段不存在,则使该字段存在).在后面的规则中,如果此字段在日志中出现则记录

    2. unset :丢弃监控的字段 ,跟set 功能相反.

    可以指定丢弃哪个字段.

    IF myfield == 2 THEN unset myfield.
    IF myfield == 2 THEN unset.
    

    6.2.3. 规则领域

    log_filter_dragnet 支持核心,可选,和用户定义的规则.

    为错误事件自动设置核心字段.

    • 核心区域字段

    time :事件事件

    msg :事件消息

    prio :事件优先级

    IF prio == INFORMATION THEN ...
    IF prio == 3 THEN ...
    

    下表显示了符号和数值的对应关系.

    Event Type Priority Symbol Numeric Priority
    Error events ERROR 1
    Warning events WARNING 2
    Note/information events INFORMATION 3

    Priority values follow the principle that higher priorities have lower values, and vice versa. Priority values begin at 0 for the most severe events (errors) and increase for events with decreasing severity. For example, to discard events with lower priority than warnings, test for priority values higher than WARNING:

    IF prio > WARNING THEN drop.
    

    The following examples show the log_filter_dragnet rules to achieve an effect similar to each log_error_verbosity value permitted by the log_filter_internal filter:

    • 只输出error
    IF prio > ERROR THEN drop.
    
    • 输出 error ,warnings .
    
    IF prio > WARNING THEN drop.
    
    • 输出 error ,warnings ,notes 信息.
    
    IF prio > INFORMATION THEN drop.
    

    6.2.4. 选项详细说明

    6.2.4.1. err_code

    数字的错误代码.可以使用符号错误名或者数字.

    
    IF err_code == ER_ACCESS_DENIED_ERROR THEN ...
    IF err_code == 1045 THEN ...
    

    6.2.4.2. err_symbol

    事件错误符号,适用于字符串,例如"ER_DUP_KEY" .主要识别日志输出中特定含.

    6.2.4.3. SQL_state

    SQLTATE 事件值获取.

    6.2.4.4. subsystem

    replication 的子系统.相关的事件.

    6.2.4.5. 日志的附加信息

    OS_errno :操作系统错误号

    OS_errmsg :操作系统错误消息

    label :事件发生时打标签.

    6.2.5. 客户端事件

    选项 说明
    user 客户端用户
    host 客户端主机
    thread 线程
    query_id 查询ID

    6.2.6. debug 信息

    source_file :事件所发生的源文件.

    IF source_file == "distance.cc" THEN ...
    

    source_line :事件发生时源文件中的行.

    function :事件发生的函数.

    component :事件发生的组件或插件

    展开全文
  • 它还包含诊断消息,如服务器启动和关闭期间以及服务器运行期间发生的错误,警告注释。例如,如果mysqld注意到需要自动检查或修复表,它会向错误日志写入消息。用于启动和管理mysqld服务的mysqld_safe进程会将消息...
  • 诊断和修复显示无法运行,因为"诊断策略服务"没有运行。打开服务控制器,很多服务都启动不了(没有禁用),是Network Location Awareness的问题,手动启动不了,显示windows不能在本地计算机,启动 Network Location ...
  • 欢迎来到2017年11月发布的Visual Studio代码。正如11月份迭代计划中所宣布的那样,本月关注的重点是GitHub问题清理,产品性能...维修性/诊断 - 新VS Code诊断日志记录扩展监控。更智能的智能感知 - 智能感知可以
  • 天蓝色监测-源码

    2021-02-17 09:13:54
    您将使用云技术的组合,例如Azure Kubernetes服务,VM规模集,应用程序见解,Azure日志分析和Azure Runbook,以展示您在诊断和纠正应用程序和基础结构问题方面的技能。 在这个项目中,您将被要求执行以下操作: ...
  • Azure性能项目4-源码

    2021-02-08 13:30:53
    您将使用云技术的组合,例如Azure Kubernetes服务,VM规模集,应用程序见解,Azure日志分析和Azure Runbook,以展示您在诊断和纠正应用程序和基础结构问题方面的技能。 在这个项目中,您将被要求执行以下操作: ...
  • 13.系统诊断:详细的系统诊断日志功能,可导出当前系统进程、启动项、未知系统服务、注册表加载项等内容,方便浏览。将日志帖到网上,可让高手迅速找到问题所在,删除可疑文件,解决电脑问题。 14.内存优化:获取本...
  • 诊断uiautomator2方法 Plugin Hooks 失败时弹出提示框 项目历史 Contributors LICENSE Installation Install uiautomator2 # Since uiautomator2 is still under development, you have to add --pre to install...
  • 8.5 用于“比较和修复”的DBMS_COMPARISON 276 8.5.1 DBMS_COMPARISON的必要条件 277 8.5.2 支持的数据库对象类型 277 8.5.3 比较 277 8.5.4 比较维护 279 8.5.5 复查以前的比较 279 8.5.6 会聚共享数据库...
  • 11.4.3 对系统进行全面诊断修复 276 11.4.4 免费查杀病毒 276 11.5 反黑精英Anti Trojan Elite 277 11.5.1 系统设置 277 11.5.2 实施监控 279 11.5.3 实施扫描 280 11.6 专家点拨:常见问题与解答 282 11.7 总结与...
  • 5.11.4 自动诊断信息库控件接口 163 5.12 调度资源管理工具 163 5.12.1 Oracle调度程序 163 5.12.2 数据库资源管理器 163 5.13 自动数据库管理 163 5.13.1 ADDM 163 5.13.2 自动撤销保留调优 164 ...
  • 8.8 数据备份和修复 8.8.1 数据文件备份 8.8.2 数据备份mongodump 8.8.3 数据恢复mongorestore 8.8.4 fsync和锁 8.8.5 从属备份 8.8.6 修复 8.9 本章小结 第4篇 性能篇 第9章 索引 9.1 ...
  •  (4)启用启动日志启动Windows XP,同时将由系统加载的所有驱动程序 服务记录到文件中。文件名为ntbtlog.txt,位于Windir目录中。该日志对 确定系统启动问题的准确原因很有用。  (5)启用VGA模式:使用基本...
  • Autorun病毒防御者

    2008-09-23 15:40:38
    - 修复了部分杀毒软件对本软件的误报问题。 - “系统服务管理”工具功能加强,现在可以设置服务的启动方式了。注意:请勿随意更改服务项,除非您明确了解这个服务的作用! - “软件设置”中增加了“代理服务器设置”...
  • WIN XP蓝屏代码大全

    2013-08-08 12:29:21
    第一步:首先打开命令行提示符, 运行"Chkdsk /r"(注:不是CHKDISK, 感觉象这个, 但是……)命令检查并修复硬盘错误, 如果报告存在怀道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复. 第二步:接着禁用所有...
  • [Oracle.11g权威指南(第2版)].谷长勇.扫描版.pdf

    千次下载 热门讨论 2013-06-23 21:16:09
    11.2 日志文件组、日志切换和日志归档 284 11.3 了解检查点 285 11.4 查询、新建、删除日志文件 285 11.5 本章小结 287 第12章 管理表空间数据文件 288 本章主要介绍了Oracle数据库的逻辑结构、默认表空间,以及表...
  • 9.3.1 指定启动的Splash Screen窗体 241 9.3.2 使用窗体的背景属性 241 9.4 利用Openargstab属性重用窗体执行标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用控件扩展窗体的功能 ...
  • Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 ...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

启动修复诊断和修复日志