10、MySQL 8.0参考手册 4.5.1.3 mysql日志记录
2018-03-21 14:46
357 查看
4.5.1.3 mysql日志记录
在MySQL的客户端可以做这些类型的日志记录,用于交互式执行的语句:在Unix上,mysql将语句写入历史文件。默认情况下,该文件.mysql_history在您的主目录中命名 。要指定不同的文件,请设置
MYSQL_HISTFILE环境变量的值 。
在所有平台上,如果
--syslog给出选项,mysql会将语句写入系统日志记录工具。在Unix上,这是
syslog; 在Windows上,它是Windows事件日志。记录消息出现的目的地取决于系统。在Linux上,目标通常是
/var/log/messages文件。
以下讨论描述适用于所有日志记录类型的特征,并提供特定于每种日志记录类型的信息。记录如何发生对于每个启用的日志记录目标,语句记录如下所示:只有交互式执行语句时才会记录语句。语句是非交互式的,例如,从文件或管道读取时。也可以通过使用
--batchor
--execute选项来禁止语句记录。
如果语句与“ 忽略 ”列表中的任何模式匹配,语句将被忽略并且不记录。该列表稍后介绍。
mysql会分别记录每个无符号的非空语句行。
如果一个非关键语句跨越多行(不包括终止分隔符), mysql会连接这些行以形成完整的语句,将换行符映射到空格,并记录结果以及分隔符。
因此,跨越多行的输入语句可以被记录两次。考虑这个输入:
mysql> SELECT -> 'Today is' -> , -> CURDATE() -> ;在这种情况下,mysql会记录 “ SELECT ”,“ 'Today is' ”, “ , ”,“ CURDATE() ”和“ ; “ 线条,因为它读取它们。它还会在映射
SELECT\n'Today is'\n,\nCURDATE()到之后记录完整的语句
SELECT 'Today is' , CURDATE(),再加上一个分隔符。因此,这些行出现在记录输出中:
SELECT 'Today is' , CURDATE() ; SELECT 'Today is' , CURDATE();mysql会忽略与“忽略 ”列表中的任何模式匹配的记录目的语句。默认情况下,模式列表是
"*IDENTIFIED*:*PASSWORD*"忽略引用密码的语句。模式匹配不区分大小写。在模式中,两个字符是特殊的:
?匹配任何单个字符。
*匹配零个或多个字符的任何序列。
要指定其他模式,请使用该
--histignore选项或设置
MYSQL_HISTIGNORE环境变量。(如果两者都指定,则优先选项值。)该值应该是一个或多个模式的冒号分隔列表,它附加到默认模式列表中。在命令行中指定的模式可能需要引用或转义,以防止命令解释器专门处理它们。例如, 除了引用密码的语句之外,要禁止登录
UPDATE和
DELETE语句,请像这样调用mysql:
shell> mysql --histignore="*UPDATE*:*DELETE*"控制历史文件该
.mysql_history文件应该以限制性的接入方式进行保护,因为敏感信息可能会被写入到它,如包含口令的SQL语句的文本。请参见第6.1.2.1节“密码安全的最终用户指南”。如果您不想维护历史文件,请先删除
.mysql_history它, 如果它存在。然后使用以下任一技术来防止再次创建它:将
MYSQL_HISTFILE环境变量设置为
/dev/null。要使此设置在您每次登录时生效,请将其放入您的某个shell的启动文件中。
创建
.mysql_history为符号链接
/dev/null; 这只需要做一次:
shell> ln -s /dev/null $HOME/.mysql_history
系统日志记录特征如果
--syslog给出该选项,则 mysql将交互式语句写入系统日志记录工具。消息日志记录具有以下特征。记录发生在“ 信息 ”层面。这对应于Unix / Linux 功能和 Windows事件日志的
LOG_INFO优先级 。请参阅您的系统文档以配置您的记录功能。
syslog
syslog
EVENTLOG_INFORMATION_TYPE消息大小限制为1024字节。消息由标识符
MysqlClient和这些值组成:
SYSTEM_USER系统用户名(登录名)或
--用户未知。
MYSQL_USERMySQL用户名(用
--user选项指定 )或
--用户未知。
CONNECTION_ID:客户端连接标识符。这
CONNECTION_ID()与会话中的函数值相同 。
DB_SERVER服务器主机或
--主机未知。
DB默认数据库或者
--没有选择数据库。
QUERY记录声明的文本。
以下是使用Linux在Linux上生成的输出示例
--syslog。此输出格式化为可读性; 每条记录的消息实际上只占一行。本文由学什么技术好提供翻译
相关文章推荐
- 15,MySQL 8.0参考手册 4.6.8 mysqlbinlog - 处理二进制日志文件的实用程序
- 10、MySQL 8.0参考手册 4.5.1.1 mysql选项
- 10、MySQL 8.0参考手册 4.5.4 mysqldump - 数据库备份程序
- 10、MySQL 8.0参考手册 4.5.1.2 mysql命令
- 10、MySQL 8.0参考手册 4.5.5 mysqlimport - 数据导入程序
- 18,MySQL 8.0参考手册4.6.8.3使用mysqlbinlog备份二进制日志文件
- 10、MySQL 8.0参考手册 4.5.1.4 mysql服务器端帮助
- 12、MySQL 8.0参考手册 4.6.5 myisamlog - 显示MyISAM日志文件内容
- 10、MySQL 8.0参考手册 4.5.1.5从文本文件执行SQL语句
- 20,MySQL 8.0参考手册4.6.9 mysqldumpslow - 总结慢速查询日志文件
- 10、MySQL 8.0参考手册 4.5.1.6 mysql提示
- 10、MySQL 8.0参考手册 4.5.7 mysqlsh - MySQL Shell
- 10、MySQL 8.0参考手册 4.6.2 innochecksum - 离线InnoDB文件校验和实用程序
- 10、MySQL 8.0参考手册 4.5.9 mysqlslap - 加载仿真客户端
- 10、MySQL 8.0参考手册 4.6.3 myisam_ftdump - 显示全文索引信息
- 10、MySQL 8.0参考手册 mysql - MySQL命令行工具
- 10、MySQL 8.0参考手册 4.5.3 mysqlcheck - 单个表维护程序
- 10、MySQL 8.0参考手册 4.5.8 mysqlshow - 显示数据库,表和列信息
- 4、MySQL 8.0参考手册 连接到服务器并断开连接3.3.4从表中检索信息
- 5、MySQL 8.0参考手册 3.3.4.6使用NULL值