CentOS系统中MySQL5.1升级至5.5.36
记录下CentOS6.4环境将MySQL5.1升级至5.5.36的过程,希望对大家有个参考。
1.为了安全期间,首先需要备份原有数据
2.卸载原有MySQL,先停止原有的MySQL服务,再查找find/-namemysql
[root@linuxidc/]#find/-namemysql /var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql
并移除服务
[root@linuxidc/]#rm-rf/var/lib/mysql [root@linuxidc/]#rm-rf/var/lib/mysql [root@linuxidc/]#rm-rf/usr/lib64/mysql
3.安装cmake
[root@linuxidcdownload]#wgethttp://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz [root@linuxidcdownload]#tarxzvfccmake-2.8.12.2.tar.gz [root@linuxidcdownload]#cdcmake-2.8.12.2 [root@linuxidccmake-2.8.12.2]#./configure [root@linuxidccmake-2.8.12.2]#make&&makeinstall
4.下载安装MySQL5.5.36
[root@linuxidcdownload]#wgethttp://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz [root@linuxidcdownload]#tarxzvfmysql-5.5.36.tar.gz [root@linuxidcdownload]#cdmysql-5.5.36 [root@linuxidcmysql-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@linuxidcmysql-5.5.36]#make&&makeinstall
在cmake的过程中出错了,提示CouldNOTfindCurses(missing: CURSES_LIBRARYCURSES_INCLUDE_PATH)
执行以下代码就可以了,执行好之后继续cmake,然后再make&&makeinstall
[root@localhostmysql-5.5.36]#rmCMakeCache.txt
[root@localhostmysql-5.5.36]#yuminstallncurses-devel
5.接下来需要把之前备份下来的my.cnf文件,复制至/etc/my.cnf
MySQL会读取/etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf/.my.cnf。左边的文件优先级是最高的
6.配置好之后,我们就启动mysql,发现有一个问题启动MySQL提示:TheserverquitwithoutupdatingPIDfile(…)失败
查看my.cnf文件设置的日记文件地址/var/log/mysqld.log,错误提示如下
17071512:31:36mysqld_safemysqldfrompidfile/var/lib/mysql/linuxidc.pidended
17071512:57:48mysqld_safeStartingmysqlddaemonwithdatabasesfrom/home/mysql
17071512:57:48InnoDB:TheInnoDBmemoryheapisdisabled
17071512:57:48InnoDB:Mutexesandrw_locksuseGCCatomicbuiltins
17071512:57:48InnoDB:Compressedtablesusezlib1.2.3
17071512:57:48InnoDB:Initializingbufferpool,size=128.0M
17071512:57:48InnoDB:Completedinitializationofbufferpool
17071512:57:48InnoDB:highestsupportedfileformatisBarracuda.
17071512:57:48 InnoDB:Waitingforthebackgroundthreadstostart
17071512:57:49InnoDB:5.5.36started;logsequencenumber2645823
17071512:57:49[ERROR]/usr/local/mysql/bin/mysqld:unknownvariable'default-character-set=utf8'
17071512:57:49[ERROR]Aborting
此报错是由/etc/my.cnf配置文件下的[mysqld]设置字符集引起的,解决方法:将default-character-set=utf8改为character_set_server=utf8
7.通过mysql-uroot-p命令连接mysql。(我们之前有安装过mysql,数据库文件还在,所以不需要再添加用户设置权限了)
出现了错误信息:ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'
出错原因是我们mysql.sock文件在/usr/lib/mysql/文件夹下
可以尝试通过下面命令连接,并查看mysql版本
[root@linuxidcvar]#mysql-uroot-p-S/usr/lib/mysql/mysql.sock
mysql>selectversion();
+-----------+
|version()|
+-----------+
|5.5.36 |
+-----------+
1rowinset(0.00sec)