溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL 5.7 error和warnings無具體信息顯示該怎么辦

發(fā)布時間:2021-11-16 11:06:01 來源:億速云 閱讀:304 作者:柒染 欄目:MySQL數(shù)據(jù)庫

今天就跟大家聊聊有關(guān)MySQL 5.7 error和warnings無具體信息顯示該怎么辦,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

【問題描述】:


版本:MySQL 5.7.18 
安裝方式:二進制值包解壓后直接初始化
現(xiàn)象:只有錯誤代碼,無錯誤詳情,通過show errors和show warings都無法獲取message。

  1. mysql> USE ccadacdasc;

  2. ERROR 1049 (42000): Unknown error 1049

  3. mysql> SHOW ERRORS;

  4. +-------+------+----------+

  5. | Level | Code | Message  |

  6. +-------+------+----------+

  7. | Error | 1064 |          |

  8. +-------+------+----------+

  9. 1 row in set (0.00 sec)

  10. mysql> CREATE DATABASE mysql;

  11. ERROR 1007 (HY000): Unknown error 1007

  12. mysql> STOP SLAVE;

  13. Query OK, 0 rows affected, 1 warning (0.00 sec)

  14. mysql> SHOW WARNINGS;

  15. +-------+------+-----------+

  16. | Level | Code | Message   |

  17. +-------+------+-----------+

  18. | Note  | 3084 |           |

  19. +-------+------+-----------+

  20. 1 row in set (0.00 sec)



雖然不影響使用,也可以到文檔手冊去查詢具體情況,但總歸不方便。

檢查錯誤日志發(fā)現(xiàn):
2017-06-16T06:40:03.292520Z 0 [ERROR] Can't find error-message file '/data/mysql57/bin/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

發(fā)現(xiàn)errmsg.sys找不到,并且發(fā)現(xiàn)在bin目錄中查找。


【解決方案】:

檢查配置文件發(fā)現(xiàn):
# grep basedir my57.cnf 
basedir = /data/mysql57/bin

basedir指定的位置有誤。修改一下:
basedir = /data/mysql57


重新啟動,發(fā)現(xiàn)無報錯。
再手工產(chǎn)生一些error和warning,已經(jīng)可以正常產(chǎn)生信息了。

  1. mysql> STOP SLAVE;

  2. Query OK, 0 rows affected, 1 warning (0.00 sec)


  3. mysql> SHOW WARNINGS;

  4. +-------+------+--------------------------------------------------------------------------+

  5. | Level | Code | Message                                                                  |

  6. +-------+------+--------------------------------------------------------------------------+

  7. | Note  | 3084 | Replication thread(s) for channel '' are already stopped.                |

  8. +-------+------+--------------------------------------------------------------------------+

  9. 1 row in set (0.00 sec)


  10. mysql> fdsfas;

  11. 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


  12. mysql> use afdasfds;

  13. ERROR 1049 (42000): Unknown database 'afdasfds'


原因:該實例啟動時被指定錯誤了basedir導(dǎo)致無法找到errmsg.sys,所以無法顯示具體error或warning的詳情。
修正my.cnf重新啟動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,導(dǎo)致無法找到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版本中,雖然在啟動時會報錯并記錄在錯誤日志中,但mysqld仍然是可以起來的

看完上述內(nèi)容,你們對MySQL 5.7 error和warnings無具體信息顯示該怎么辦有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI