20.11 消息记录选项

mysqlbackup将重要的进度和错误信息写入stderr流中。这些信息对于跟踪操作过程中发生的问题通常非常有价值。从 MySQL Enterprise Backup 3.9 开始,stderr流的输出也默认保存到日志文件中(对于大多数 mysqlbackup操作),以便在任何调试过程中都可以轻松访问错误信息。

消息记录的工作方式类似于类 Unix 系统上的tee进程,其中程序的输出被拆分以显示并保存到文件中。这样生成的日志文件以以下格式命名: ,其中是运行的 mysqlbackup操作(例如, 、 等), 是运行该操作的日期和时间。以下是日志文件名称的一些示例: MEB_timestamp_operation.logoperationbackupapply-logtimestamp

MEB_2013-06-24.16-32-43_backup.log
MEB_2013-06-28.11-07-18_apply_log.log
MEB_2013-06-29.10-08-06_list_image.log

以下选项控制消息记录功能:

  • --skip-messages-logdir

    跳过消息记录。日志记录默认开启(list-imagevalidate操作除外,详见--messages-logdir 选项说明),通过该选项关闭。

  • --messages-logdir=path

    命令行格式 --messages-logdir=PATH
    类型 目录名称
    默认值 backup_dir/meta

    指定用于存储消息日志的现有目录的路径名。如果指定的目录不存在,则消息记录失败并返回一条错误消息。省略该选项时,使用默认目录 backup_dir/meta ,其中backup_dir是该 --backup-dir选项指定的目录。

    笔记

    使用此选项为 list-imagevalidate操作打开消息日志记录。默认情况下,这两个操作的消息日志记录是关闭的,因为它们不修改任何文件,并且调试它们通常不需要消息日志。并且由于默认路径名backup_dir/meta 对于这两个操作没有意义,因此打开消息日志记录和提供用于保存日志文件的目录的路径名都需要此选项。但是,如果 --skip-messages-logdir还指定了该选项,则它优先并跳过消息记录。

以下是一些示例,显示如何控制消息记录。

由于默认设置, 这会backup在目录中为操作 创建一个日志文件 :/home/backup_dir/meta

mysqlbackup -uroot --port=3306 --backup-dir=/home/backup_dir backup

这会跳过操作的消息记录 backup

mysqlbackup -uroot --port=3306 --backup-dir=/home/backup_dir \
      --skip-messages-logdir backup

apply-log这会在名为 的现有目录/home/teelog_dir(而不是默认位置) 中为该操作创建一个日志文件 :

mysqlbackup -uroot --port=3306 --backup-dir=/home/backup_dir \
      --messages-logdir=/home/teelog_dir apply-log

list-image这会在名为 的现有目录 中为该操作创建一个日志文件 /home/teelog_dir

mysqlbackup -uroot --port=3306 --backup-image=/backup/my.mbi \
--messages-logdir=/home/teelog_dir list-image