There are relevant test data indicating that MySQL performance will be significantly improved from 5.1 to 5.5+. Specifically, you need to set up a test environment to practice it. Today we will do it and record the specific steps of the upgrade
Record the process of upgrading MySQL 5.1 to 5.5.36 in CentOS 6.4 environment. I hope it will 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, and 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 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
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 cmake, and 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 backup the previous my.cnf file, copy 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 started mysql and found a problem when starting MySQL: The server quit without updating PID file (...) failed
Check the log file address /var/log/mysqld.log set by 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 /etc/my.cnf configuration file Caused by the [mysqld] setting character set under , the solution: change default-character-set=utf8 to character_set_server=utf8
7. Pass mysql -u root - The p command connects to mysql. (We have installed mysql before, and the database file is still there, so there is no need to Add usersset 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)
The above is the detailed content of Detailed example of how to upgrade MySQL5.1 to 5.5.36 in CentOS system. For more information, please follow other related articles on the PHP Chinese website!