我正在使用mariadb和我调查一些我想检查日志的问题 . 令我惊讶的是,没有为mariadb生成日志文件 .

我怀疑情况并非如此,所以我怀疑我的搜索技巧 .

MariaDB [(none)]> show variables like 'log_error'
    -> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_error     |       |
+---------------+-------+
1 row in set (0.00 sec)

我在my.cnf中添加了条目仍然在上面的字段是空的 .

[root@cslcodev11-oem ~]# cat /etc/my.cnf
[mysqld]
!includedir /etc/mysqld/conf.d
datadir=/mnt/mgmt/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
tmpdir=/mnt/mgmt/var/lib/mysql_tmp
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
### TRT-3229 #####
sync_binlog=1
innodb_flush_method=O_DIRECT
innodb_support_xa = 1
myisam_repair_threads = 2
myisam_recover_options = FORCE
###################
innodb_file_per_table=1
innodb_log_buffer_size = 8M
table_open_cache=256
max_heap_table_size=256M
### TRT-4685 ###
max_connections=500
################
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/var/log/mariadb/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@cslcodev11-oem ~]#

所以,我想知道如果无法从配置文件中读取路径,我们是否有生成这些日志的默认位置 .

更新:

经过一番调查,我发现了这个信息,

参考:https://mariadb.com/kb/en/mariadb/error-log/


Activating the Error Log

错误日志默认处于活动状态 . log-error = filename选项确定输出的写入位置 . 如果未指定文件名,则日志将写入host-name.err . 如果未指定绝对路径,则将文件写入数据目录(由datadir系统变量的值确定) .

在Unix系统上,如果未使用--log-error选项,则会将错误写入stderr(通常是命令行) .

在Windows上,如果指定了--console选项,并且未使用--log-error,则会将错误写入控制台 . 如果存在--log-error,则忽略--console .

所以现在我明白,由于某种原因,my.cnf中的配置 log_error 不予考虑 . 因此根据建议,在Unix系统上,如果未使用--log-error,则会将日志重定向到stdout .


但是,我正在使用 service mysqld start 命令启动服务,所以我想知道在使用 service mysql start 启动服务时默认使用的所有选项是什么? ESP,是否使用了--log-error?