GNU/Linux >> Linux Esercitazione >  >> Linux

[Errore MySQL]:'/usr/share/mysql/english/errmsg.sys' aveva solo 480 messaggi di errore

La mia casella CentOS funziona con il kernel 2.6. Oggi volevo aggiornarlo alla recente versione 3.14. Inoltre, pochi importanti software relativi alla sicurezza installati sulla confezione erano di versioni precedenti.

Pensando che un aggiornamento totale aiuterebbe a migliorare la sicurezza, scelgo di aggiornarli utilizzando yum che facilita l'installazione, l'aggiornamento, la ricerca o la disinstallazione dei pacchetti software su un sistema. Il yum l'aggiornamento è stato completato con successo, nel frattempo anche MySQL è stato aggiornato a MySQL-5.5.37.

Questa può essere una buona notizia, tuttavia ho trovato l'errore seguente durante l'avvio del server MySQL.


Ciò è dovuto al file errmsg.sys era di una versione precedente che non è stata aggiornata durante l'aggiornamento di 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]

Soluzione :

1. Determina la versione corretta di MySQL installata utilizzando il comando seguente:

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 installato

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

2. Trova il file sorgente tar.gz corrispondente per la versione di MySQL sopra elencata dall'URL sottostante . Basta sostituire la versione corretta di MySQL sopra elencata e scaricarla.

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

3. Estrarre il MySQl appena scaricato con il comando seguente:

tar -zxf mysql-5.1.58.tar.gz

4. Cmake è un prerequisito! Se non è installato, la compilazione fallirebbe. Quindi installa cmake usando il comando seguente:

yum install cmake

5. Esegui autorun.sh  per creare il file di configurazione. Il comando seguente crea il file di configurazione in mysql-5.5.37 cartella

mysql-5.5.37/BUILD/autorun.sh

6. Ora configura e crea con il comando seguente:

mysql-5.5.37/configure
make

7. Copia il nuovo file errmsg.sys dal percorso compilato in:/usr/share/mysql/english/errmsg.sys

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

8. Ora avvia MySQLD e non vedrai alcun errore!

/etc/init.d/mysqld start

Se questo processo non funziona, l'opzione migliore potrebbe essere disinstallare e reinstallare MySQL (dopo aver eseguito il backup di tutto).


Linux
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. Messaggi di errore "Interruzione comando emesso nexus" nel file /var/log/messages

  3. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  4. Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

  5. cmake --version punta a /usr/bin/cmake mentre which cmake punta a /usr/local/bin

Cosa sono i messaggi "segfault" nel file /var/log/messages

gcc - /usr/bin/ld errore:impossibile trovare <library> in /usr/local/lib anche se ldconfig lo elenca e il percorso è stato aggiunto a ld.so.conf

montare dev, proc, sys in un ambiente chroot?

Qual è il significato di /usr/sbin, /usr/local/sbin e /usr/local/bin?

Differenza tra /bin e /usr/bin

/sys/ documentazione?