MySQL:变量 'general_log_file' 无法设置为 '~/path/to/new/file' 的值

标签 mysql sql

我希望 MySQL 创建一个新的通用日志文件并将所有内容记录到其中。

当我将其输入 MySQL 时:

set global general_log_file='~/path/to/new/file';

并且该文件是我希望 MySQL 在设置全局变量后处理某些事务时创建的文件(即它尚不存在),它给了我一个错误:

Variable 'general_log_file' can't be set to the value of '~/path/to/new/file'

但是,如果我使用如下所示的文件路径来执行此操作:

set global general_log_file='new/file';

即使这个新文件还不存在,它也不会提示并相应地分配变量。

这是怎么回事?

最佳答案

更改我的 cnf.ini

general_log_file        = /var/log/mysql/new_file.log
general_log             = 1

然后重新启动mysql进程

Server restarts and log flushing do not cause a new general query log file to be generated (although flushing closes and reopens it)

shell> mysqladmin flush-logs

关于MySQL:变量 'general_log_file' 无法设置为 '~/path/to/new/file' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31574805/

相关文章:

mysql - 如何在MySQL中检测带有汉字的行?

python - 执行 flask-SQLAlchemy 子查询

sql - 为什么 Postgresql 不允许在 INSERT SELECT 查询中分组集?

mysql - 在 MariaDB 数据库中授予权限

php - 传递数据时隐藏的表单字段值不正确

mysql - MySQL 的矩阵操作

sql - 初学者多连接问题

sql - 简单的SQL约束问题

mysql - 如何从 MySQL 中的表中进行一次大选择?

mysql - 基于相同的id连接两个表字段?