starting mariadb server as a systemd service (systemctl start mariadb-server.service) fails with error message:

Incompatible header in messagefile '/usr/share/mysql/english/errmsg.sys'. Probably from another version of MariaDB".

The contents of errmsg.sys are something like below (sharing only few lines here):

^A^K8^Kd^K¶^K^G^Le^L}^L<92>^L°^LÇ^Lø^L^O^Mb^M¥^Mñ^M<^NZ^N<92>^N°^NN^O<94>^OÇ^Oô^O7^PN^Pn^P}^P©^Pß^P ^QP^Q<86>^Q¨^QÇ^QZ^Rh^R<84>^Rµ^Rá^R^C^S$^SB^S<8f>^S³^SÏ^Sï^S)^T:^TÉ^T=^U~^Uö^U^T^V@^Vd^V<86>^V¿^Væ^V^H^Wj^W©^W^L^Xv^X¤^XÓ^X\^Y<8e>^Y¬^YÆ^Yå^YW^Z<99>^ZÕ^Z%^[<81>^[°^[Ö^[+^\e^\è^\,^]L^]<*

There is another file, errmsg-utf8.txt at the folder /usr/share/mysql. The content of errmsg-utf8.txt is something like below (sharing only few lines here):

languages czech=cze latin2, danish=dan latin1, dutch=nla latin1, english=eng latin1, estonian=est latin7, french=fre latin1, german=ger latin1, greek=greek greek, hungarian=hun latin2, italian=ita latin1, japanese=jpn ujis, japanese-sjis=jps sjis, korean=kor euckr, norwegian-ny=norwegian-ny latin1, norwegian=nor latin1, polish=pol latin2, portuguese=por latin1, romanian=rum latin2, russian=rus koi8r, serbian=serbian cp1250, slovak=slo latin2, spanish=spa latin1, swedish=swe latin1, ukrainian=ukr koi8u;

default-language eng

start-error-number 1000

I have copied errmsg-utf8.txt file contents to errmsg.sys using the cat command:
cat /usr/share/mysql/errmsg-utf8.txt > /usr/share/mysql/english/errmsg.sys

and tried to start mariadb service. Still it shows the same error and service failed to start.

Tried to make things work out but not sure if my approach is the right way to solve the issue.


Description=MariaDB server

ExecStart=/opt/mariadb/10.3.9/bin/mysqld --basedir=/opt/mariadb/10.3.9 --datadir=/var/lib/mysql --lc-messages-dir=/usr/share/mysql/english --plugin-dir=/opt/mariadb/10.3.9/lib/plugin --user=root --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

  • 3
    just reinstalling the package should resolve that, support.plesk.com/hc/en-us/articles/… – rAlen Jan 1 at 18:11
  • Thanks @rAlen . I tried starting the service after installing the package : (rpm -qf /usr/share/mysql/english/errmsg.sys) . When i install package /usr/share/mysql/english/errmsg.sys , this is the output am getting mariadb-libs-5.5.56-2.el7.x86_64 Still facing the same issue. One more point is , I am installing mariadb from binary tar.gz .Is there any other work around if mariadb is installed using binary (tar.gz). – CodeDoesn'tLie Jan 2 at 6:09
  • If you installed MariaDB from tar.gz, then you need to do a reinstall using tar.gz also, but I would suggest you always use packages, you can add MariaDB repo to your OS to always have latest version available, for instance for CentOS downloads.mariadb.org/mariadb/repositories/… you can try installing the version you have from repo, after you add MariaDB repos – rAlen Jan 2 at 8:02
  • Is there no errmsg.txt in /opt/mariadb/10.3.9/lib/ or similar? As you specify most of the directories to be under /opt/mariadb, I find it strange that you have --lc-messages-dir=/usr/share/mysql/english, I would have expected that to be somewher in /opt/mariadb as well; perhaps the /usr/share/mysql is from a real (old) MySQL installation. As you're installing from tar.gz then you have no package management to clean up old crud. – wurtel Jan 2 at 8:59
  • @rAlen yeah, i reinstalled mariadb(stopped all mysql processes and removed mariadb related directories) and tried starting the service. Issue still exists. I think reinstalling ( binaries tar.gz) didnt help because there might be some issue in clean up as wurtel was saying. And yes, installing from packages would be a better choice always to get latest version installed.Currently , am working on something where I am supposed to install only using binaries. – CodeDoesn'tLie Jan 2 at 19:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.