Upgrade MySQL 5.1 to 5.5.36 in CentOS

Upgrade MySQL 5.1 to 5.5.36 in CentOS

This article records the process of upgrading MySQL 5.1 to 5.5.36 in the CentOS 6.4 environment. I hope it can be a reference for everyone.

1. For safety reasons, you first need to back up the original data

2. Uninstall the original MySQL, stop the original MySQL service first, then search find / -name mysql

[root@linuxidc /]# find / -name mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

and remove the service

[root@linuxidc /]# rm -rf /var/lib/mysql

[root@linuxidc /]# rm -rf /var/lib/mysql

[root@linuxidc /]# rm -rf /usr/lib64/mysql

3. Install 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. Download and install MySQL 5.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

An error occurred during the cmake process, prompting Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

Just execute the following code, after execution, continue with cmake, then make && make install

[root@localhost mysql-5.5.36]# rm CMakeCache.txt

[root@localhost mysql-5.5.36]# yum install ncurses-devel

5. Next, you need to copy the previously backed up my.cnf file to /etc/my.cnf

MySQL will read /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf. The file on the left has the highest priority.

6. After configuration, we start MySQL and find a problem. Starting MySQL prompts: The server quit without updating PID file (…) failed

Check the log file address /var/log/mysqld.log set in the my.cnf file. The error message is as follows

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] Aborting

This error is caused by the character set of [mysqld] in the /etc/my.cnf configuration file. The solution is to change default-character-set=utf8 to character_set_server=utf8

7. Connect to mysql through the mysql -u root -p command. (We have installed MySQL before, and the database files are still there, so there is no need to add users to set permissions)

An error message appeared: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

The reason for the error is that our mysql.sock file is in the /usr/lib/mysql/ folder

You can try to connect through the following command and check the mysql version

[root@linuxidc var]# mysql -u root -p -S /usr/lib/mysql/mysql.sock

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.5.36 |

+-----------+

1 row in set (0.00 sec)

You may also be interested in:
  • How to upgrade PHP and MySQL in CentOS system
  • Problems and solutions when upgrading MySQL 5.1.61 to MySQL 5.6.19 on Centos 6.3
  • Centos MySQL 5.7 installation and upgrade tutorial
  • Steps to upgrade MySQL 5.1 to MySQL 5.5 under CentOS
  • How to upgrade and install MySQL 5.5 in CentOS 6.2
  • Pitfalls and solutions for upgrading MySQL 5.7.23 in CentOS 7

<<:  An example of how to use nginx to configure multiple laravel projects with one domain name

>>:  React+Antd implements an example of adding, deleting and modifying tables

Recommend

Vue3.0 adaptive operation of computers with different resolutions

First we need to install some dependencies npm i ...

About CSS floating and canceling floating

Definition of Float Sets the element out of the n...

Detailed explanation of the use of MySQL DML statements

Preface: In the previous article, we mainly intro...

Specific steps for Vue browser to return monitoring

Preface When sharing a page, you hope to click th...

...

Detailed explanation of Vue's hash jump principle

Table of contents The difference between hash and...

Vue implements image drag and drop function

This article example shares the specific code of ...

Full HTML of the upload form with image preview

The upload form with image preview function, the ...

Linux system disk formatting and manually adding swap partition

Windows: Support NTFS, FAT Linux supports file fo...

Let's talk in detail about the direction of slow SQL optimization in MySQL

Table of contents Preface SQL statement optimizat...

JavaScript implements simple calculator function

This article shares the specific code of JavaScri...

Implementation of positioning CSS child elements relative to parent elements

Solution Add position:relative to the parent elem...

Optimization analysis of Limit query in MySQL optimization techniques

Preface In actual business, paging is a common bu...