微信开发中 ACCESS TOKEN 过期失效的解决方案详解
386
2023-12-27
今天就跟大家聊聊有关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] Cant 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-f
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-f重新启动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] Cant find messagefile /data/mysql-base/mysql56/bin/share/errmsg.sys
而在MySQL 5.7版本中,虽然在启动时会报错并记录在错误日志中,但mysqld仍然是可以起来的
看完上述内容,你们对MySQL 5.7 error和warnings无具体信息显示该怎么办有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~