log_error - xiaoboluo768/qianjinliangfang GitHub Wiki

  • 指定错误日志的位置(路径和名称),默认情况下是标准输出路径(datadir+hostname.err)
    • 全局变量,只读变量,file name类型
    • 注意:因为该变量是只读变量,不能动态打开,需要注意如下情况
      • 如果数据库是使用mysqld_safe或者service脚本启动的,且使用该选项指定了错误日志文件的名称,则你需要注意不要误删除了错误日志文件,否则数据库将无法正确启动(因为mysqld_safe程序不负责重建错误日志,是mysqld程序负责创建的),此时可以使用:flush error logs语句来重新生成一个错误日志文件(需要在误删除文件且数据库未重启的时候才有效)。如果数据库是直接使用mysqld程序启动的,则无论是否使用该选项指定错误日志文件,误删除错误日志文件的时候不影响数据库的启动,因为mysqld程序发现错误日志不存在时会自动重建。但是有一定区别,区别在于指定了该选项时使用指定的名称重建,未指定的时候,使用默认的错误日志文件名重建。
      • 如果是使用innobackupex备份恢复工具恢复到一个并未初始化过的实例目录中,且启动的时候使用了mysqld_safe或者service方式启动,且使用该选项指定了错误日志文件名称,则启动时会因为缺少错误日志文件而无法启动,会报类似的错误:mysqld_safe: error: log-error set to '/home/mysql/data/mysqldata1/log/error.log', however file don't exists. Create writable for user 'mysql'. 此时,可以手工touch一下/home/mysql/data/mysqldata1/log/error.log 然后chown修改宿主即可
      • 如果错误日志没有任何权限,那就悲剧了,就算你尝试使用mysqld_safe和mysqld启动,都无法看到任何的报错信息,只会看到mysql一启动就停止的信息。就算使用mysqld --log-syslog记录到系统日志中也无法看到有效的报错信息,也只能看到一启动就停止的信息

上一篇:log_syslog_tag | 下一篇:log_error_verbosity