一. 数据库升级
1. 环境说明
一般说来,MySQL数据库的二进制数据文件,也就是my.cnf
中的配置项datadir
所在的位置,和我们MySQL应用程序安装的位置,是分开的,仅仅通过配置项告诉MySQL,数据库的数据存在datadir
这个目录下。当程序和数据分离以后,方便我们对数据库应用程序做版本的升级或者回退。
2. 环境举例
-
MySQL安装目录:
- MySQL 5.6.27: /usr/local/mysql-5.6.27-linux-glibc2.5-x86_64
- MySQL 5.7.9 : /usr/local/mysql-5.7.9-linux-glibc2.5-x86_64
-
datadir目录:
- /data/mysq_data/
-
初始环境:
shell> ll | grep mysql lrwxrwxrwx 1 root root 34 Nov 16 13:40 mysql -> mysql-5.6.27-linux-glibc2.5-x86_64 drwxr-xr-x 13 root mysql 4096 Nov 16 13:37 mysql-5.6.27-linux-glibc2.5-x86_64 drwxr-xr-x 9 7161 wheel 4096 Oct 12 00:29 mysql-5.7.9-linux-glibc2.5-x86_64 shell> ll /data/mysql_data/ total 13540 -rw-rw---- 1 mysql mysql 65468 Nov 16 13:50 bin.000001 -rw-rw---- 1 mysql mysql 1176237 Nov 16 13:50 bin.000002 -rw-rw---- 1 mysql mysql 26 Nov 16 13:50 bin.index -rw-rw---- 1 mysql mysql 6882 Nov 16 13:50 error.log -rw-rw---- 1 mysql mysql 865 Nov 16 13:50 ib_buffer_pool -rw-rw---- 1 mysql mysql 12582912 Nov 16 13:50 ibdata1 drwx------ 2 mysql mysql 4096 Nov 16 13:50 mysql drwx------ 2 mysql mysql 4096 Nov 16 13:50 performance_schema drwx------ 2 mysql mysql 4096 Nov 16 13:49 test
3. 版本升级
shell> /etc/init.d/mysqld stop #安全的停止数据库的运行
shell> cd /usr/local/
shell> unlink mysql
shell> ln -s mysql-5.7.9-linux-glibc2.5-x86_64 mysql