文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL 5.7 error和warnings无具体信息显示该怎么办

2024-04-02 19:55

关注

今天就跟大家聊聊有关MySQL 5.7 error和warnings无具体信息显示该怎么办,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

【问题描述】:


版本:MySQL 5.7.18 
安装方式:二进制值包解压后直接初始化
现象:只有错误代码,无错误详情,通过show errors和show warings都无法获取message。

  1. mysql> USE ccadacdasc;

  2. ERROR 1049 (42000): Unknown error 1049

  3. mysql> SHOW ERRORS;

  4. +-------+------+----------+

  5. | Level | Code | Message  |

  6. +-------+------+----------+

  7. | Error | 1064 |          |

  8. +-------+------+----------+

  9. 1 row in set (0.00 sec)

  10. mysql> CREATE DATABASE mysql;

  11. ERROR 1007 (HY000): Unknown error 1007

  12. mysql> STOP SLAVE;

  13. Query OK, 0 rows affected, 1 warning (0.00 sec)

  14. mysql> SHOW WARNINGS;

  15. +-------+------+-----------+

  16. | Level | Code | Message   |

  17. +-------+------+-----------+

  18. | Note  | 3084 |           |

  19. +-------+------+-----------+

  20. 1 row in set (0.00 sec)



虽然不影响使用,也可以到文档手册去查询具体情况,但总归不方便。

检查错误日志发现:
2017-06-16T06:40:03.292520Z 0 [ERROR] Can't find error-message file '/data/mysql57/bin/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

发现errmsg.sys找不到,并且发现在bin目录中查找。


【解决方案】:

检查配置文件发现:
# grep basedir my57.cnf 
basedir = /data/mysql57/bin

basedir指定的位置有误。修改一下:
basedir = /data/mysql57


重新启动,发现无报错。
再手工产生一些error和warning,已经可以正常产生信息了。

  1. mysql> STOP SLAVE;

  2. Query OK, 0 rows affected, 1 warning (0.00 sec)


  3. mysql> SHOW WARNINGS;

  4. +-------+------+--------------------------------------------------------------------------+

  5. | Level | Code | Message                                                                  |

  6. +-------+------+--------------------------------------------------------------------------+

  7. | Note  | 3084 | Replication thread(s) for channel '' are already stopped.                |

  8. +-------+------+--------------------------------------------------------------------------+

  9. 1 row in set (0.00 sec)


  10. mysql> fdsfas;

  11. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fdsfas' at line 1


  12. mysql> use afdasfds;

  13. ERROR 1049 (42000): Unknown database 'afdasfds'


原因:该实例启动时被指定错误了basedir导致无法找到errmsg.sys,所以无法显示具体error或warning的详情。
修正my.cnf重新启动mysqld即可。

这个文件在$basedir/share中存放名在此处为:
errmsg-utf8.txt 
errmsg-utf8.txt: UTF-8 Unicode Pascal program text, with very long lines
用于存储各类error和warning的详情。


这个问题目前只存在于MySQL 5.7等更高版本的MySQL中。

在MySQL 5.6版本中,若因为指定了错误的basedir,导致无法找到errmsg.sys时,在启动时就会报错:
2017-06-16 15:02:49 11234 [ERROR] Can't find messagefile '/data/mysql-base/mysql56/bin/share/errmsg.sys'

而在MySQL 5.7版本中,虽然在启动时会报错并记录在错误日志中,但mysqld仍然是可以起来的

看完上述内容,你们对MySQL 5.7 error和warnings无具体信息显示该怎么办有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯