記錄下CentOS 6.4環(huán)境將MySQL5.1升級至5.5.36的過程,希望對大家有個參考。
1.為了安全期間,首先需要備份原有數(shù)據(jù)
2.卸載原有MySQL,先停止原有的MySQL服務(wù),再查找 find / -name mysql
[root@linuxidc /]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
并移除服務(wù)
[root@linuxidc /]# rm -rf /var/lib/mysql
[root@linuxidc /]# rm -rf /var/lib/mysql
[root@linuxidc /]# rm -rf /usr/lib64/mysql
3.安裝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.下載安裝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
在cmake的過程中出錯了,提示Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
執(zhí)行以下代碼就可以了,執(zhí)行好之后繼續(xù)cmake,然后再make make install
[root@localhost mysql-5.5.36]# rm CMakeCache.txt
[root@localhost mysql-5.5.36]# yum install ncurses-devel
5.接下來需要把之前備份下來的my.cnf文件,復(fù)制至/etc/my.cnf
MySQL會讀取/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf。左邊的文件優(yōu)先級是最高的
6.配置好之后,我們就啟動mysql,發(fā)現(xiàn)有一個問題啟動MySQL提示:The server quit without updating PID file(…)失敗
查看my.cnf文件設(shè)置的日記文件地址/var/log/mysqld.log,錯誤提示如下
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
此報錯是由/etc/my.cnf配置文件下的[mysqld]設(shè)置字符集引起的,解決方法:將default-character-set=utf8 改為 character_set_server=utf8
7.通過mysql -u root -p命令連接mysql。(我們之前有安裝過mysql,數(shù)據(jù)庫文件還在,所以不需要再添加用戶設(shè)置權(quán)限了)
出現(xiàn)了錯誤信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
出錯原因是我們mysql.sock文件在/usr/lib/mysql/文件夾下
可以嘗試通過下面命令連接,并查看mysql版本
[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)
您可能感興趣的文章:- CentOS系統(tǒng)中PHP和MySQL的升級方法
- Centos 6.3將Mysql 5.1.61升級為mysql 5.6.19遇到的問題及解決方式
- Centos MySQL 5.7安裝、升級教程
- CentOS下將MySQL 5.1升級到MySQL 5.5的步驟
- CentOS 6.2 下升級安裝為MySQL 5.5的方法
- CentOS 7中升級MySQL 5.7.23的坑與解決方法