46 mysql 客户端拿不到具体的错误信息

前言

这是最近碰到的一个问题 

同样的一个 环境的问题, 在正常的 mysql 环境会返回 具体的错误信息, 然后 在我的另外一个环境里面 只能返回一些 unknown error 之类的 十分抽象的环境

然后 我们这里 来看一下 具体的情况 我们这里从 错误的环境 往前推导

来查看 并解决这个问题

 

 

错误信息的调试

这里构造的问题是一个 Table space already exists 的问题, 在重命名表名的时候, 将表名更新为 另外一个存在 ibd 的表名, 这时候 就会抛出如下异常

 

根据错误码 查询错误信息的方式如下, 将两个 section flatmap 到 errmsgs 的错误信息序列, 然后计算偏移 获取错误信息模板, 比如 我们这里的 1025 获取到的错误信息为 “”

然后 下面直接响应的 “Unknown error $errorCode”

941092146db24e2090f6455856325118.png

 

获取到错误信息的时候, 根据 错误码以及错误信息模板 以及上下文 格式化完整的错误信息的地方如下, 这里没有获取到错误信息模板, 直接响应的是 “Unknown error $errorCode”

b9993324ddca41f88f9c1fd089568e05.png

 

然后 客户端拿到的信息如下

3ff51f117ee74313b0e165a70a402dd3.png 

 

这里两个 section 标记的是 错误码 的两个分区

第一个 section 是 [1000 – 1887], 第二个 section 是 [3000 – 3230]

f80cd003fe064fa482ca88ac536af982.png

 

 

错误信息 errmsg.sys 的初始化  

错误信息的初始化如下, 默认是在 “/usr/local/mysql/share/errmsg.sys” 的地方查询错误信息模板, 然后 在这里没有 

然后 从如上代码可以看到 错误信息 的根目录是在 lc_message_dir 的配置中

然后解决方式可以通过 复制 errmsg.sys 到指定的默认位置, 或者更新 lc_message_dir 的配置, 配置到 mysql 代码中错误信息的目录, 我们这里通过配置解决问题 

e437f1b04537498389b5ec127de2552a.png

 

配置 lc_messages_dir 如下 

5b87949a376e4646a3c534e330e07e99.png 

 

现在能够 正确读取到错误信息了 

389e0166711047a486eaa2a4d4f45c4b.png 

 

错误信息国际化配置 

通过 lc_messages_dir 和 lc_messages 来进行配置, 后者配置指定的是 语言

也可以通过 launage 来执行完整的路径, 但是 不推荐

f90ce41cf1074f30958914cebb9f81c7.png

 

路径中的 Japanese 是通过 locale 进行关联的, 这部分内容参见 sql_locale.cc

fadacceeee5446089b419620b5a1aa91.png 

国际化之后 错误信息如下

b7daf506b9e44d848b40fbeb820f33b5.png 

在配置不正确的情况下, 启动 mysql 会有如下日志, 提示的就是 没有找到错误信息的相关配置

216dbc9b267a40208855cdca79dd16ed.png 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3245835.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

常见的计算机语言有哪些?

计算机语言用于编写软件和应用程序,各种语言有不同的用途和特点。目前常见的的编程语言有: 1、Java;2、Python;3、JavaScript;4、C;5、C#;6、Swift;7、Go;8、Ruby&#…

Chromium CI/CD 之Jenkins实用指南2024-系统基本配置(二)

1. 引言 在现代软件开发和持续集成/持续部署(CI/CD)过程中,Jenkins已经成为一款不可或缺的工具。作为一个开源的自动化服务器,Jenkins能够帮助开发团队自动化各种任务,包括构建、测试和部署应用程序。特别是当与Ubunt…

高职综合布线实训室

一、高职综合布线实训室建设背景 随着《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》的深入实施,数字化转型已成为国家发展的核心战略之一,计算机网络技术作为数字化建设的基石,其重要性日益凸显。然而,面对数字时代…

数据可视化在智慧医疗中的重要应用

在现代智慧医疗的推动下,数据可视化技术正日益成为医疗领域的重要工具。通过将复杂的医疗数据转换为直观的图表和图形,数据可视化不仅提升了医疗服务的效率,还极大地改善了患者的就医体验。 在智慧医疗中,数据可视化首先在电子病历…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 7月17日,星期三

每天一分钟,知晓天下事! 2024年7月17日 星期三 农历六月十二 1、 三部门:紧急调拨1万件救灾物资支持河南、山东两省做好受灾群众基本生活保障工作。 2、 多部门联合公布无人驾驶试点名单:北京、上海等20个城市(联合体…

Cesium能做啥,加载哪些数据源,开源免费用商用吗?这里告诉你。

很多小伙伴对Cesium是什么,一知半解,本文是基础知识的扫盲,为大家分享cesium是什么、能做什么、默认数据是什么,为什么首先要进行数据加载,要加载哪些数据,希望通过这些带你入个门,欢迎点赞评论…

所有权与生命周期:Rust 内存管理的哲学

所有权与生命周期:Rust内存管理的哲学 博主寄语引言:编程语言的内存管理困境与 Rust 的解决方案。所有权基本概念:资源的绝对主权生命周期的理解与应用:编译时的守护神借用与引用的精妙设计:安全与效率的和谐共舞Rust …

服务器基础1

服务器基础复习01 1.环境部署 系统:华为欧拉系统 网络简单配置nmtui 因为华为欧拉系统密码需要复杂度 所以我们可以进入后更改密码 echo 123 | passwd --stdin root也可以 echo "root:123" | chpasswd2.关闭防火墙,禁用SElinux 首先先关…

C++:链表插入排序/删除重复节点题解

插入排序 插入排序的思路很简单,基本都知道。 关键是放在链表中, 1.要建立一个哨兵位,这个哨兵位的下一个节点,始终指向val最小的节点。 2.prev指针作为cur的前一个节点,始终指向val最大的节点。它的下一个节点始终…

C++ ─── vector的模拟实现

知识点: ① 因为vector是模版,所以声明和定义都放在.h中,防止出现编译错误。 .h不会被编译,在预处理中.h在.cpp中展开,所以在编译时只有.cpp 而 .cpp顺序编译,只会进行向上查找,因此至少有函数的…

交叉编译ethtool(ubuntu 2018)

参考文章:https://www.cnblogs.com/nazhen/p/16800427.html https://blog.csdn.net/weixin_43128044/article/details/137953913 1、下载相关安装包 //ethtool依赖libmul git clone http://git.netfilter.org/libmnl //ethtool源码 git clone http://git.kernel.or…

野兔在线工具箱系统全新升级改版,基于TP8和yetuadmin后台实现

野兔在线工具箱系统全新升级改版,基于TP8和yetuadmin后台实现 系统名称:野兔在线工具系统 系统语言:支持多语言,大概有20种 系统源码:不加密,开源 系统开发:PHPMySQL (基于thinkphp8&#x…

Docker容器——初识Docker,安装以及了解操作命令

一、Docker是什么? 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源,用来管理容器和镜像的工具是在Linux容器里驱动运行应用的开源工具是一种轻量级的“虚拟机” 基于linux内核运行Docker的容器技术可以在一台主机上轻松为任何应用…

Pytorch的编译新特性TorchDynamo的工作原理和使用示例

在深度学习中,优化模型性能至关重要,特别是对于需要快速执行和实时推断的应用。而PyTorch在平衡动态图执行与高性能方面常常面临挑战。传统的PyTorch优化技术在处理动态计算图时效果有限,导致训练时间延长和模型性能不佳。TorchDynamo是一种为…

COHV 计划订单ALV界面添加字段

COHV 计划订单ALV界面添加字段 目录 增强点 包含文件:LCOWB01F02 这里是对ALV界面的显示字段输出值,输入结构为ls_header 结构添加字段 COWB_S_HEADER结构添加一个附加结构

Nginx入门到精通三(反向代理1)

下面内容整理自bilibili-尚硅谷-Nginx青铜到王者视频教程 Nginx相关文章 Nginx入门到精通一(基本概念介绍)-CSDN博客 Nginx入门到精通二(安装配置)-CSDN博客 Nginx入门到精通三(Nginx实例1:反向代理&a…

Attention机制解析

Attention机制解析 1. 引言 Attention机制在自然语言处理(NLP)和计算机视觉(CV)等领域取得了广泛的应用。其核心思想是通过对输入数据的不同部分赋予不同的权重,使模型能够更加关注重要的信息。本文将详细介绍Attent…

独立开发者系列(27)——python生成文本

在简单的安全漏洞测试里面,文本的信息自动化填充生成和储存还有使用非常有用。简单的比如IP段的生成,检查某个IP段的服务器存在数量一般取俩个IP段 比如101.35.*.* 最多256*256 条IP 信息 分别发出对应的检测命令,可以知道该IP段有多少可以查…

F1-score(标准度量)

什么是F1-score? F1分数(F1-score)是分类问题的一个衡量指标。一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0,如公式1所示…

Java面试八股之简述单例redis并发承载能力

简述单例redis并发承载能力 单例Redis实例的并发承载上限受到多种因素的影响,包括但不限于硬件性能、网络条件、数据集大小、操作类型以及Redis自身的配置。以下是几个关键因素的详细说明: 硬件性能: CPU:Redis主要依赖于CPU的…