mysql执行语句后只有错误代码,没有错误信息的问题

 更新时间:2024年09月07日 14:00:17   作者:极创者  
这篇文章主要介绍了mysql执行语句后只有错误代码,没有错误信息的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题说明

mysql数据库在执行完sql语句后,因语法错误,报错时仅显示错误代码,没有错误信息。

这个大部分原因是安装数据库时出现问题,/etc/my.cnf配置项不对。

有的人安装的时候是使用源码安装,需要自己去配置,在这种情况下就有可能出现错配。

本例中就是因为错配了/etc/my.cnf导致的问题。

如下图所示,在执行完语句后,仅显示1075错误代码,后面什么信息也没有。

解决方案

第一步,先查看错误日志,具体错误日志的位置请根据实际情况寻找,本例中mysql错误日志文件位置在/var/log/mysqld.log,大部分使用rpm方式安装的话,默认也在这个位置。

第二步,查看具体错误日志,如下图所示,明确提示了找不到errmsg.sys文件

# less /var/log/mysqld.log|grep -i error

第三步,根据错误日志,找到errmsg.sys文件具体位置。

使用whereis查看mysql相关的安装路径,再次找到errmsg.sys文件位置,如下图所示,errmsg.sys文件位置在/usr/share/mysql/english

第四步,在/etc/my.cnf文件中增加lc-messages-dir=/usr/share/mysql配置,这里说下为什么是lc-messages-dir,是因为错误日志里面提示了这个配置,因此加上这个配置,为什么路径是/usr/share/mysql,这个是因为一般是mysql的主路径,也就是basedir路径,只要这个对了,文件自然能找到。

第五步,重启mysql

# service mysqld restart

第六步,再次查询刚刚的语句,查看结果,现在有错误信息了。

第七步,再次查看错误日志,可以看到刚刚的错没有了,到这一步errmsg.sys这个问题已经解决了。如果你有兴趣,可以接着往下看。

第八步,刚刚说了,到第七步,问题已经解决了,但是本次测试意外的发现另外的错,那这个错和上面的errmsg.sys错有什么关系,可以看到这个错是找不到so文件。

再次返回查看配置文件,可以看到是因为这里的basedir配置的是/usr/bin/mysql,所以跟mysql相关的文件都会在这个路径下面去找,但是errmsg.sys和现在的这个so文件并不在/usr/bin/mysql路径下,所以归根结底,还是basedir配置错了,引起了连锁反应,导致了一系列错。

最终修改basedir配置项,把这个注释掉即可(使用rpm默认安装可以注释掉)或者配置正确的basedir路径(尤其是使用源码自定义安装的mysql数据库一定要配置对basedir),本例中注释掉basedir。

最后一步,重启mysql,所有的错都没有了,如下图所示。

总结

自定义安装的mysql,/etc/my.cnf一定要配置对,不然会有很多意想不到的问题。

rpm默认安装的mysql,也检查下/etc/my.cnf对不对,启动完以后,查看mysql有没有报错。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux CentOS 7.4下 mysql5.7.20 密码改回来的处理方法

    linux CentOS 7.4下 mysql5.7.20 密码改回来的处理方法

    这篇文章主要介绍了linux CentOS 7.4下 mysql5.7.20 密码改回来的处理方法,需要的朋友可以参考下
    2018-11-11
  • MySQL中 LBCC 和 MVCC 的理解及常见问题示例

    MySQL中 LBCC 和 MVCC 的理解及常见问题示例

    这篇文章主要介绍了MySQL中LBCC和MVCC的理解及常见问题示例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的朋友可以参考一下
    2022-09-09
  • mysql删除字段的基本语法和示例

    mysql删除字段的基本语法和示例

    在MySQL中,使用ALTER TABLE语句配合DROP COLUMN子句可以删除表中的某个字段,示例中,从employees表中删除email字段,此操作会永久删除该字段的数据,因此需提前备份,需要的朋友可以参考下
    2024-09-09
  • 关于mysql create routine 权限的一些说明

    关于mysql create routine 权限的一些说明

    下面小编就为大家带来一篇关于mysql create routine 权限的一些说明。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • mysql的XA事务恢复过程详解

    mysql的XA事务恢复过程详解

    XA事务支持限于InnoDB存储引擎,本文将详细介绍mysql的XA事务恢复过程
    2012-11-11
  • Mysql巧用join优化sql的方法详解

    Mysql巧用join优化sql的方法详解

    这篇文章主要给大家介绍了关于Mysql巧用join优化sql的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    这篇文章主要介绍了MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MySQL 常用命令

    MySQL 常用命令

    MySQL 常用命令...
    2006-12-12
  • MySQL非空约束(not null)案例讲解

    MySQL非空约束(not null)案例讲解

    这篇文章主要介绍了MySQL非空约束(not null)案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • mysql执行脚本导入表和数据后中文注释乱码的问题解决

    mysql执行脚本导入表和数据后中文注释乱码的问题解决

    本人在使用不同版本下进行操作时,就会出现中文乱码的问题,,例如我本地安装mysql8,服务器安装的是mysql5,然后本地连接服务器的mysql后,执行SQL脚本之后发现中文全部乱码,所以本文介绍了mysql执行脚本导入表和数据后中文注释乱码的问题解决,需要的朋友可以参考下
    2024-04-04

最新评论