0

I updated mysql and not it won't start. I tried removing it and reinstalling and it still will not start. I get the following error in the logs. When you start it it just tells you that mysql timed out. I get more information by looking at the error log:

Error message file '/usr/share/mysql/english/errmsg.sys' had only 480 error messages, but it should contain at least 481 error messages. Check that the above file is the right version for this program!

playkid
  • 13
  • 2
  • 5

5 Answers5

1

You can verify the package using:

rpm -V mysql-server

debsums -c mysql-server

This will show if that file is not what the package manager expects. The package may be called MySQL-server or just MySQL as well, depending on the source of the package (community version uses caps, redhat/debian distribs use all-lowercase).

I would check here, to make sure the packages are indeed what the system expects.

0

If you have another instance version, you can copy and paste the errmsg.sys, like this:

1 - Rename the wrong errmsg.sys, mine is C:\Program Files\MySQL\MySQL Server 5.6\share\english\errmsg.sys to errmsg.sys1

2 - I have another instance 5.7 that I copied from C:\Program Files\MySQL\MySQL Server 5.7\share\english\errmsg.sys to C:\Program Files\MySQL\MySQL Server 5.6\share\english\errmsg.sys.

3- Start the service..

I believe if you have 5.1 and 5.6 can run too..

chicks
  • 3,793
  • 10
  • 27
  • 36
Filipe
  • 1
0

Personally, I'd be doing what the error message says, and verifying (from upstream sources) that errmsg.sys is for the correct version of MySQL. Sounds like you've got a dodgy package that doesn't have all the right files in it.

womble
  • 96,255
  • 29
  • 175
  • 230
0

You might try adding a bogus line to the end of errmsg.sys so that it thinks there are 481 messages. That might be enough to allow MySQL to start.

If this works, I would still grab the correct errmsg.sys file from the source tarball.

Brent
  • 22,857
  • 19
  • 70
  • 102
0

It's possible that the my.cnf file is a bit messed up. In your currently loading my.cnf file, if there is a line saying something like:

language = /some/thing/english

Comment it out and try starting it again. It's possible your re-installed mysql into a different location, and the old error file is being referenced instead.

Michael
  • 303
  • 1
  • 10