Maison > Article > base de données > Exemple détaillé de la mise à niveau de MySQL5.1 vers 5.5.36 dans le système CentOS
Les données de test pertinentes montrent que les performances de MySQL seront considérablement améliorées de 5.1 à 5.5+. Plus précisément, vous devez configurer un environnement de test pour le pratiquer. Aujourd'hui, nous allons le faire et enregistrer les étapes spécifiques de la mise à niveau
.Enregistrez le processus de mise à niveau de MySQL5.1 vers 5.5.36 dans l'environnement CentOS 6.4. J'espère que ce sera une référence pour tout le monde.
1. Pour des raisons de sécurité, vous devez d'abord sauvegarder les données d'origine
2 Désinstallez MySQL d'origine, arrêtez d'abord le service MySQL d'origine, puis recherchez find / -name mysql.
[root@linuxidc /]# find / -name mysql /var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql
et supprimez le service
[root@linuxidc /]# rm -rf /var/lib/mysql [root@linuxidc /]# rm -rf /var/lib/mysql [root@linuxidc /]# rm -rf /usr/lib64/mysql
3. Installez cmake
[root@linuxidc download]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz [root@linuxidc download]# tarx zvfc cmake-2.8.12.2.tar.gz [root@linuxidc download]# cd cmake-2.8.12.2 [root@linuxidc cmake-2.8.12.2]# ./configure [root@linuxidc cmake-2.8.12.2]# make && make install
4. Téléchargez et installez MySQL5.5.36
[root@linuxidc download]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz [root@linuxidc download]# tar xzvf mysql-5.5.36.tar.gz [root@linuxidc download]# cd mysql-5.5.36 [root@linuxidc mysql-5.5.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/mysql [root@linuxidc mysql-5.5.36]# make && make install
dans cmake Une erreur s'est produite pendant le processus, demandant Impossible de trouver les malédictions (manquant : CURSES_LIBRARY CURSES_INCLUDE_PATH)
Exécutez simplement le code suivant après l'exécution, continuez cmake, puis make && make install
<.>[root@localhost mysql-5.5.36]# rm CMakeCache.txt [root@localhost mysql-5.5.36]# yum install ncurses-devel5. Ensuite, vous devez copier le fichier my.cnf précédemment sauvegardé dans /etc/my.cnfMySQL lira /etc/my.cnf /etc/mysql/my. cnf /usr/local/mysql/etc/my.cnf/.my.cnf. Le fichier de gauche 6. Après la configuration, nous avons démarré MySQL et avons trouvé un problème lors du démarrage de l'invite MySQL : Le serveur s'est arrêté sans mettre à jour le fichier PID (…) a échoué Vérifiez l'adresse du fichier journal /var/log/mysqld.log définie par le fichier my.cnf. Le message d'erreur est le suivant
170715 12:31:36 mysqld_safe mysqld from pid file /var/lib/mysql/linuxidc.pid ended 170715 12:57:48 mysqld_safe Starting mysqld daemon with databases from /home/mysql 170715 12:57:48 InnoDB: The InnoDB memory heap is disabled 170715 12:57:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins 170715 12:57:48 InnoDB: Compressed tables use zlib 1.2.3 170715 12:57:48 InnoDB: Initializing buffer pool, size = 128.0M 170715 12:57:48 InnoDB: Completed initialization of buffer pool 170715 12:57:48 InnoDB: highest supported file format is Barracuda. 170715 12:57:48 InnoDB: Waiting for the background threads to start 170715 12:57:49 InnoDB: 5.5.36 started; log sequence number 2645823 170715 12:57:49 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8' 170715 12:57:49 [ERROR] AbortingCette erreur est causée par /etc/my. .cnf
Causé par le paramètre [mysqld] jeu de caractères sous le fichier de configuration La solution : remplacez default-character-set=utf8 par Character_set_server=utf8
7. . Passez mysql -u La commande root -p se connecte à mysql. (Nous avons déjà installé MySQL et le fichier de base de données est toujours là, il n'est donc pas nécessaire d'ajouter des utilisateurs pour définir les autorisations)
Unmessage d'erreur apparaît : ERREUR 2002 (HY000) ): Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock'
La raison de l'erreur est que notre fichier mysql.sock se trouve dans /usr/lib /mysql/ dossierVous pouvez essayer de vous connecter via la commande suivante et vérifier la version mysqlCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!