如果MySQL 5.7错误和警告没有显示具体信息,我该怎么办?

分类:编程技术 时间:2024-02-20 16:01 浏览:0 评论:0
0
今天我要和大家谈谈当MySQL 5.7错误和警告没有显示具体信息时该怎么办。很多人可能对此还不是很了解。为了让大家更好的了解,小编为大家总结了以下内容。希望您能根据这篇文章来阅读。获得一些东西。

【问题描述】:


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

mysql> 使用 ccadacdasc;

错误 1049 (42000):未知错误 1049

mysql> 显示错误;

+--------+------+----------+

|水平|代码|留言|

+ -------+-----+---------+

|错误 | 1064 | 1064 |

+--- ----+------+------------+

1 行一组(0.00 秒)

mysql> 创建数据库 mysql ;

错误 1007 (HY000):未知错误 1007

mysql> STOP SLAVE;

查询正常,0 行受影响,1 条警告(0.00 秒)

mysql> 显示警告;

+----- --+------+------------+

|水平|代码|留言|

+--------+--------+------------+

|注意| 3084| |

+--------+------+------------+

集合中 1 行(0.00 秒)



虽然不影响使用,具体情况也可以查看文档手册,但并不总是可以。方便的。

检查错误日志发现:
2017-06-16T06:40:03.292520Z 0 [ERROR] Can't find error-message file '/data/mysql57/bin/share/ errmsg.sys'。检查error-message文件位置和'lc-messages-dir'配置指令。

发现没有找到errmsg.sys,在bin目录下搜索发现。


【解决办法】:

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

basedir指定的位置是i不正确。修改一下:
basedir = /data/mysql57


重启发现没有错误。
手动生成一些错误和警告后,可以正常生成信息。

mysql> STOP SLAVE;

查询正常,0行受影响,1个警告(0.00秒)


mysql> 显示警告;

+--------+------+-------------- -------------------------------------------------- ----------+

|水平|代码|留言|

+--------+------+---------------------------- -------------------------------------------------+

|注意| 3084|通道“”的复制线程已停止。 |

+--------+--------+-- -------------------------- --------------------------- ----------------------- +

集合中的 1 行(0.00 秒)


mysql> fdsfas;

错误 1064 (42000) :您的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行“fdsfas”附近使用的正确语法


mysql> use afdasfds;

ERROR 1049 (42000): Unknown database 'afdasfds'


原因:实际这个例子中,启动时指定了错误的basedir,所以找不到 errmsg.sys,因此无法显示特定错误或警告的详细信息。
只需更正my.cnf并重新启动mysqld即可。

存储在$basedir/share中的这个文件的名称是:
errmsg-utf8.txt
errmsg-utf8.txt:UTF-8 Unicode Pascal程序文本,具有非常长行
用于存储各种错误和警告的详细信息。


此问题目前仅存在于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 版本中,虽然启动时会报错,但记录在错误日志中,bumysqld 仍然可以启动

看完以上内容,您并没有关于 MySQL 5.7 错误和警告的具体信息。你知道更多关于该做什么吗?如果您想了解更多知识或相关内容,请关注行业资讯频道。感谢您的支持。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如果MySQL 5.7错误和警告没有显示具体信息,我该怎么办?

用户评论