MySQL 5.7 error和warnings无具体信息显现该怎么办
发布时间:2021-12-20 11:53:38 所属栏目:通讯 来源:互联网
导读:今天就跟大家聊聊有关MySQL 5.7 error和warnings无具体信息显示该怎么办,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 【问题描述】: 版本:MySQL 5.7.18 安装方式:二进制值包解压后直接初
今天就跟大家聊聊有关MySQL 5.7 error和warnings无具体信息显示该怎么办,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 【问题描述】: 版本:MySQL 5.7.18 安装方式:二进制值包解压后直接初始化 现象:只有错误代码,无错误详情,通过show errors和show warings都无法获取message。 mysql> USE ccadacdasc; ERROR 1049 (42000): Unknown error 1049 mysql> SHOW ERRORS; +-------+------+----------+ | Level | Code | Message | +-------+------+----------+ | Error | 1064 | | +-------+------+----------+ 1 row in set (0.00 sec) mysql> CREATE DATABASE mysql; ERROR 1007 (HY000): Unknown error 1007 mysql> STOP SLAVE; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> SHOW WARNINGS; +-------+------+-----------+ | Level | Code | Message | +-------+------+-----------+ | Note | 3084 | | +-------+------+-----------+ 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,已经可以正常产生信息了。 mysql> STOP SLAVE; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> SHOW WARNINGS; +-------+------+--------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+--------------------------------------------------------------------------+ | Note | 3084 | Replication thread(s) for channel '' are already stopped. | +-------+------+--------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> fdsfas; 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 mysql> use afdasfds; 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无具体信息显示该怎么办有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。 (编辑:丽水站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |