暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

万里数据库GreatDB故障诊断:错误日志支持中文

原创 Dbb 2024-06-06
174

error log支持中文

开启方式

greatDB支持在错误日志(error log)中切换语言显示,目前支持中文和英文两种语言,error log默认为英文输出,如果需要将error log切换到中文,需要在客户端执行以下SQL命令。

mysql> set global errorlog_messages_language = 'zh_CN';
Query OK, 0 rows affected (0.01 sec)

可以看到,新增了全局参数errorlog_messages_language来控制error log的语言来进行切换,以下是在debug模式下对error log进行测试的输出:

mysql> set @@debug='+d,test_errorlog_support_chinese';
Query OK, 0 rows affected (0.00 sec)

mysql> set global errorlog_messages_language = 'zh_CN';
Query OK, 0 rows affected (0.01 sec)

mysql> select PRIO,ERROR_CODE,SUBSYSTEM,DATA from performance_schema.error_log where ERROR_CODE = 'MY-011071'  or  ERROR_CODE >= 'MY-010025' and  ERROR_CODE <= 'MY-010030' order by LOGGED ;
+---------+------------+-----------+--------------------------------------------------------------------+
| PRIO    | ERROR_CODE | SUBSYSTEM | DATA                                                               |
+---------+------------+-----------+--------------------------------------------------------------------+
| Warning | MY-011071  | Server    | debug模式,开始测试errorlog支持中文,请忽略以下输出                  |
| Warning | MY-010025  | Server    | 关闭时词典缓存不为空。                                             |
| Warning | MY-010026  | Server    | 已使用但未释放的字典对象。                                         |
| Warning | MY-010027  | Server    | 字典对象留在默认释放程序中。                                       |
| Warning | MY-010028  | Server    | 未删除词典对象自动释放程序                                         |
| Warning | MY-010029  | Server    | 错误:无法创建主对象键                                              |
| Warning | MY-010030  | Server    | 错误:无法创建对象键                                                |
| Warning | MY-011071  | Server    | debug模式,结束测试errorlog支持中文,请忽略以上输出                  |
+---------+------------+-----------+--------------------------------------------------------------------+
8 rows in set (0.01 sec)

mysql>

除此之外,还有另外一种方式可以开启此项功能,即在配置文件中配置errorlog_messages_language参数,如下:

[mysqld]
    errorlog_messages_language = zh_CN

如果在配置文件中设置此项参数为中文,然后启动数据库实例,在errorlog中会有如下输出证明参数设置已经生效:

2023-03-21T01:35:35.498673Z 1 [System] [MY-013576] [InnoDB] InnoDB初始化已开始。
2023-03-21T01:35:37.367710Z 1 [System] [MY-013577] [InnoDB] InnoDB初始化已结束。
2023-03-21T01:35:38.320593Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: '设置socket: '/tmp/mysqlx.sock'失败,can't open lock file /tmp/mysqlx.sock.lock'
2023-03-21T01:35:38.770757Z 0 [System] [MY-010229] [Server] 正在启动XA崩溃恢复...
2023-03-21T01:35:38.775444Z 0 [System] [MY-010232] [Server] XA崩溃恢复已完成。
2023-03-21T01:35:39.104454Z 0 [Warning] [MY-013829] [Server] 缺少ICU正则表达式的数据目录:/home/build/ins/tall_debug/lib/private/。
2023-03-21T01:35:39.152077Z 0 [Warning] [MY-010068] [Server] CA证书ca.pem是自签名的。
2023-03-21T01:35:39.152123Z 0 [System] [MY-013602] [Server] 通道mysql_main配置为支持TLS。此通道现在支持加密连接。
2023-03-21T01:35:39.487526Z 0 [System] [MY-010931] [Server] /home/build/ins/bin/mysqld:准备连接。版本:'8.0.30-22-debug'套接字:'/home/build/ins/data/my.sock'端口:3306 Source distribution。
2023-03-21T01:35:39.488087Z 0 [System] [MY-011323] [Server] X插件已准备好连接。Bind-address: '::' port: 33060

新增的全局参数支持'zh_CN'与'en_US'两种取值,默认取值是'en_US'。

之前测试error log部分输出如下:

数据库同时提供log_error_verbosity参数(全局变量)来控制错误日志的输出级别,分别有(1,2,3)这三种取值,默认是2,即输出错误和警告,1是只输出错误,3是输出错误、警告和一般的提示信息。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论