目录题目阐明mysql数据库在执行完sql语句后,因语法错误,报错时仅表现错误代码,没有错误信息。 这个大部门缘故原由是安装数据库时出现题目,/etc/my.cnf设置项不对。 有的人安装的时候是使用源码安装,需要自己去设置,在这种环境下就有大概出现错配。 本例中就是因为错配了/etc/my.cnf导致的题目。 如下图所示,在执行完语句后,仅表现1075错误代码,背面什么信息也没有。 办理方案第一步,先查看错误日志,具体错误日志的位置请根据现实环境探求,本例中mysql错误日志文件位置在/var/log/mysqld.log,大部门使用rpm方式安装的话,默认也在这个位置。 第二步,查看具体错误日志,如下图所示,明白提示了找不到errmsg.sys文件 [code]# less /var/log/mysqld.log|grep -i error[/code]第三步,根据错误日志,找到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 [code]# service mysqld restart[/code]第六步,再次查询刚刚的语句,查看结果,现在有错误信息了。 第七步,再次查看错误日志,可以看到刚刚的错没有了,到这一步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有没有报错。 以上为个人经验,盼望能给大家一个参考,也盼望大家多多支持脚本之家。 来源:https://www.jb51.net/database/327043s2g.htm 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 19:06 , Processed in 0.030616 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.