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é).