阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.4下将MySQL5.1升级至5.5.36

137次阅读
没有评论

共计 2800 个字符,预计需要花费 7 分钟才能阅读完成。

记录下 CentOS 6.4 环境将 MySQL5.1 升级至 5.5.36 的过程,希望对大家有个参考。

1. 为了安全期间,首先需要备份原有数据

2. 卸载原有 MySQL,先停止原有的 MySQL 服务,再查找 find / -name mysql

[root@linuxidc /]# find / -name mysql
/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@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)

执行以下代码就可以了,执行好之后继续 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 文件,复制至 /etc/my.cnf
MySQL 会读取 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf。左边的文件优先级是最高的

6. 配置好之后,我们就启动 mysql,发现有一个问题启动 MySQL 提示:The server quit without updating PID file(…)失败
查看 my.cnf 文件设置的日记文件地址 /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] 设置字符集引起的,解决方法:将 default-character-set=utf8 改为 character_set_server=utf8

7. 通过 mysql -u root - p 命令连接 mysql。(我们之前有安装过 mysql,数据库文件还在,所以不需要再添加用户设置权限了)
出现了错误信息: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)

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145722.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2800字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中