[MySQL Error] : ‘/usr/share/mysql/english/errmsg.sys’ had only 480 error messages

Updated on September 3, 2017

My CentOS box runs with kernel 2.6. Today, I wanted to upgrade it to the recent version 3.14. Also, few important security related software installed on the box were of older versions.

Thinking a total upgrade would help in better security, I choose to upgrade them using yum which facilitates easy Install, Update, Search or Uninstall software packages on a system. The yum upgraded was successfully completed, meanwhile MySQL also got upgraded to MySQL-5.5.37.

That can be a good news, still I found the below error while starting the MySQL server.

MySQL Failed with errmsg.sys error
This is because of the file errmsg.sys was of older version which was not updated when upgrading the MySQL!

140604 11:28:08 [ERROR] Error message file '/usr/share/mysql/english/errmsg.sys' had only 481 error messages,
but it should contain at least 728 error messages.
Check that the above file is the right version for this program!
140604 11:28:08 [Note] Plugin 'FEDERATED' is disabled.
140604 11:28:08 InnoDB: The InnoDB memory heap is disabled
140604 11:28:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140604 11:28:08 InnoDB: Compressed tables use zlib 1.2.3
140604 11:28:08 InnoDB: Using Linux native AIO
140604 11:28:08 InnoDB: Initializing buffer pool, size = 128.0M
140604 11:28:08 InnoDB: Completed initialization of buffer pool
140604 11:28:08 InnoDB: highest supported file format is Barracuda.
140604 11:28:08 InnoDB: Waiting for the background threads to start
140604 11:28:09 InnoDB: 5.5.37 started; log sequence number 1588761
/usr/libexec/mysqld: Too many arguments (first extra is 'start').
Use --verbose --help to get a list of available options
140604 11:28:09 [ERROR] Aborting

140604 11:28:09 InnoDB: Starting shutdown...
140604 11:28:10 InnoDB: Shutdown completed; log sequence number 1588761
140604 11:28:10 [Note]

Solution :

1. Determine the correct version of MySQL installed using the below command:

Wed Jun 04>$yum list installed | grep mysql
libdbi-dbd-mysql.x86_64               0.8.1a-1.2.2                     installed
mysql.i386                            5.0.95-5.el5_9                   installed
mysql.x86_64                          5.5.37-1.el5.remi                installed
mysql-bench.x86_64                    5.5.37-1.el5.remi                installed
mysql-connector-odbc.x86_64           3.51.26r1127-2.el5               installed
mysql-devel.i386                      5.0.95-5.el5_9                   installed
mysql-devel.x86_64                    5.5.37-1.el5.remi                installed
mysql-libs.x86_64                     5.5.37-1.el5.remi                installed

mysql-server.x86_64 5.5.37-1.el5.remi installed

mysql-test.x86_64 5.5.37-1.el5.remi installed
php-mysqlnd.x86_64 5.5.13-1.el5.remi installed

2. Find the corresponding tar.gz source file for the version of MySQL listed above from the below URL . Just replace the correct MySQL version listed above and download it.

http://mysql.llarian.net/Downloads/MySQL-5.5/

3. Extract the newly downloaded MySQl with the below command:

tar -zxf mysql-5.1.58.tar.gz

4. Cmake is a pre-requisite! If not installed, then the compilation would fail. So install cmake using the below command:

yum install cmake

5. Execute autorun.sh  to create configure file. The below command creates configure file in mysql-5.5.37 folder

mysql-5.5.37/BUILD/autorun.sh

6. Now configure and make with the below command:

mysql-5.5.37/configure
make

7. Copy the new errmsg.sys file from the compiled location to : /usr/share/mysql/english/errmsg.sys

cp mysql-5.5.37/sql/share/english/errmsg.sys /usr/share/mysql/english/errmsg.sys

8. Now start MySQLD and you will see no error!

/etc/init.d/mysqld start

If this process does not work then the best option may be to uninstall and reinstall MySQL (after backing up everything).

Was this article helpful?

Related Articles

Leave a Comment