我的Debian 7中有MariaDB,想知道为什么mysql会突然停止。我应该编辑my.cnf
并定义错误日志文件的路径。
根据this,我应将log-error = /path/to/error/log
置于[mysqld_safe]
和[mysqld]
之下。
但根据this,我应该将log_error = /path/to/error/log
置于[mysqld]
之下。
那么,这是正确的方法吗? log-error
或log_error
?
答案 0 :(得分:7)
log-error
是在选项文件my.cnf
中设置选项时要指定的正确名称。
log_error
是正确的系统变量名称。{/ 1}}。
https://mariadb.com/kb/en/mariadb/documentation/optimization-and-tuning/system-variables/server-system-variables/#log https://dev.mysql.com/doc/refman/5.7/en/mysqld-option-tables.html
将它放在SHOW VARIABLES LIKE '%error%'
或[mysqld_safe]
这两个部分中的任何一个部分就足够了。 MariaDB和MySQL阅读了这两个部分。
https://mariadb.com/kb/en/mariadb/documentation/getting-started/starting-and-stopping-mariadb/mysqld_safe/ https://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html
答案 1 :(得分:3)
您的变量为log_error
,但您定义log-error;
所有变量都使用" _"而不是" - "。它前段时间也是我的头脑。当我使用log_error
时,它会正确启动。
纠正" - "到" _" ,您必须输入/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
并注释2行:
skip_log_error
syslog -> #skip_log_error #syslog
否则错误将进入系统日志,你会想知道它们在哪里。该文件只应在有" mysqld_safe"启动mysqld时使用的选项,但实际上它们也在正常启动时使用。在mariadb 10.1。*中删除了这两行。