2021-05-16に投稿

MySQL8.0 起動時に「Can't find error-message file ...」エラーで怒られた

現象

MySQL8.0 起動時に以下のようなエラーで怒られたので対処。

yyyy-MM-ddThh:ii:ss.mmmmmm-zz:zz 0 [ERROR] [MY-010338] [Server] Can't find error-message file '/var/lib/mysql/share/mysql-8.0/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

設定として、 my.cnf は以下のようなディレクトリ指定をしていました。

[mysqld]
basedir = /var/lib/mysql
datadir = /var/lib/mysql/data

これが標準とずれているのか、エラーメッセージのファイルが見付からない、と怒られて MySQL が起動できませんでした。

対処

まずはエラーメッセージの在り処を探します。

# find / -name "*errmsg*"

/usr/share/mysql-8.0/norwegian/errmsg.sys
/usr/share/mysql-8.0/serbian/errmsg.sys

## 略

/usr/share/mysql-8.0/ の下にあるようです。そこで、設定ファイルに以下のように追記しました。

[mysqld]
basedir = /var/lib/mysql
datadir = /var/lib/mysql/data

# error messages
lc_messages_dir = /usr/share/mysql-8.0 #追加

これでエラーが発生しなくなりました。

参考

Originally published at labor.ewigleere.net
ツイッターでシェア
みんなに共有、忘れないようにメモ

arm-band

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント