Mysql error :1054 - Unknown error 1054 或者是一些其他的异常代码比如4200,以及
ERROR 1133 (42000): Unknown error 1133等。
这个原因在我本地的电脑上,以及其他我部署过的MySQL服务器上没有出现过这个问题,最终查阅了MySQL的日志后才发现了问题的所在,liunx上的话一般MySQL的日志在var/log/mysql.log下
日志中有一句错误信息
Using pre 5.5 semantics to load error messages from /usr/share/mysql/english/.
[ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
报出的是MySQL没有找到相关的错误日志文件可写入。
因为my.cf中的basedir参数设置错误,导致没有找到$base_dir/share/errmsg.sys文件,装载错误信息发生错误。虽然不影响MySQL的运行,但是会导致显示错误信息不完整。
我们找到mysql的安装目录,liunx下的话可以用命令whereis mysql 可以找到mysql的目录,我这边是usr/share/mysql/,我在这个目录看到english目录点进去发现是有这个文件,但是无法访问到。然后打开my.cf配置文件,在mysqld的栏目下加上以下配置信息,指定输出的mysql安装的日志文件位置。
lc-messages-dir=/usr/share/mysql/english
然后重启mysql服务就可以解决了
重新命令 systemctl restart mysqld.service,查看mysql状态 service mysqld status。
如果配置完重启不行的话,可以考虑从可以正常输出日志信息的MySQL服务上,copy一份errmsg.sys这个文件覆盖,然后重启就可以解决!