GNU/Linux >> Tutoriels Linux >  >> Linux

[Erreur MySQL] :'/usr/share/mysql/english/errmsg.sys' n'avait que 480 messages d'erreur

Ma boîte CentOS fonctionne avec le noyau 2.6. Aujourd'hui, j'ai voulu le mettre à jour vers la récente version 3.14. De plus, peu de logiciels importants liés à la sécurité installés sur la boîte étaient d'anciennes versions.

Pensant qu'une mise à niveau totale aiderait à améliorer la sécurité, j'ai choisi de les mettre à niveau à l'aide de yum qui facilite l'installation, la mise à jour, la recherche ou la désinstallation de packages logiciels sur un système. Le miam La mise à niveau a été effectuée avec succès, tandis que MySQL a également été mis à niveau vers MySQL-5.5.37.

Cela peut être une bonne nouvelle, mais j'ai quand même trouvé l'erreur ci-dessous lors du démarrage du serveur MySQL.


Cela est dû au fichier errmsg.sys était d'une version plus ancienne qui n'a pas été mise à jour lors de la mise à jour de 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. Déterminez la version correcte de MySQL installée à l'aide de la commande ci-dessous :

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 installé

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

2. Recherchez le fichier source tar.gz correspondant à la version de MySQL répertoriée ci-dessus à partir de l'URL ci-dessous. Remplacez simplement la version correcte de MySQL répertoriée ci-dessus et téléchargez-la.

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

3. Extrayez le MySQl nouvellement téléchargé avec la commande ci-dessous :

tar -zxf mysql-5.1.58.tar.gz

4. Cmake est un pré-requis ! S'il n'est pas installé, la compilation échouera. Alors installez cmake en utilisant la commande ci-dessous :

yum install cmake

5. Exécutez autorun.sh pour créer le fichier de configuration. La commande ci-dessous crée un fichier de configuration dans mysql-5.5.37 dossier

mysql-5.5.37/BUILD/autorun.sh

6. Maintenant, configurez et créez avec la commande ci-dessous :

mysql-5.5.37/configure
make

7. Copiez le nouveau fichier errmsg.sys de l'emplacement compilé vers :/usr/share/mysql/english/errmsg.sys

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

8. Maintenant, démarrez MySQLD et vous ne verrez aucune erreur !

/etc/init.d/mysqld start

Si ce processus ne fonctionne pas, la meilleure option peut être de désinstaller et de réinstaller MySQL (après avoir tout sauvegardé).


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Linux – La différence entre /sys/block/sda1/stat et /sys/block/xvda1/stat ?

  3. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

  4. Kubuntu affiche une erreur lors de la connexion (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory) ?

  5. Que sont les messages "segfault" dans le fichier /var/log/messages

Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

gcc - /usr/bin/ld erreur :impossible de trouver <library> dans /usr/local/lib bien que ldconfig le liste et le chemin ajouté à ld.so.conf

cmake --version pointe vers /usr/bin/cmake tandis que cmake pointe vers /usr/local/bin

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Quelle est la signification de /usr/sbin, /usr/local/sbin et /usr/local/bin ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?