mysql小版本升级
基于mysql5版本的升级
官网英文文档: https://dev.mysql.com/doc/refman/5.7/en/upgrade-binary-package.html
参考链接 : 中文文档: 链接地址没找到。。。。
就地升级
1、备份数据库数据 ,使用Navicat导出数据库数据
2、备份 配置文件
cp /etc/my.cnf /etc/my.cnf.bak
3、查看mysql 的 data 路径
cat /etc/my.cnf |grep datadir
datadir=路径 //记住路径,后面需要使用
4、//在关闭过程中,InnoDB执行完全清除并在关闭之前更改缓冲区合并,这可确保在发布版本之间存在文件格式差异时完全准备好数据文件
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
(或者直接在 Navicat 上连接数据库 执行 SET GLOBAL innodb_fast_shutdown=0)
5、关闭旧的MySQL服务器
进入旧mysql 安装路径下的 bin目录下 执行下面操作
./mysqladmin -u root -p shutdown
6、升级MySQL二进制安装或软件包。如果要升级二进制安装程序,请解压缩新的MySQL二进制分发程序包。请参阅 获取和解压缩发行版。对于基于软件包的安装,请安装新软件包。
去官方下载 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
进入/usr/local/下
tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
修改文件名
mv mysql-5.7.34-linux-glibc2.12-x86_64/ mysql-5.7.34
授权
chown -R mysql.mysql /usr/local/mysql-5.7.34
chmod -R 755 /usr/local/mysql-5.7.34
修改/etc/my.cnf 里面相关路径
修改mysql的环境变量
vi /etc/profile
export MYSQL_HOME = /usr/local/mysql-5.7.34
export PATH = $PATH:$MYSQL_HOME/bin
source /etc/profile
ln -s /usr/local/mysql-5.7.34/bin/mysql /usr/bin/mysql
(7、8、9中的命令 都是在 新mysql 的bin路径下执行的)
7、使用现有数据目录启动新版本的mysql服务器
进入新版本mysql-5.7.34 的bin目录下 依次执行 下面命令
./mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &
./mysql_upgrade -u root -p
(把升级应用到表命令: 有时不加-S和mysql.sock的路径会报找不到mysql.sock的错误
mysql_upgrade -u root -p -S /data/mysql/var/mysql.sock
mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级 mysql系统数据库,以便您可以利用新的特权或功能。mysql_upgrade不会升级时区表或帮助表的内容。
8、关闭并重新启动新MySQL服务器,以确保对系统表所做的所有更改均生效
./mysqladmin -u root -p shutdown
./mysqld_safe --user=mysql --datadir=路径 &
9、 查看版本
./mysql -V
RPM升级方式
查看当前mysql的rpm包信息
rpm -qa | grep mysql
官网下载对应版本的rpm包。
rpm方式需要四个依赖包
四个包有依赖关系,所以安装顺序依次如下
yum -y install mysql-community-common-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-libs-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-client-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-server-5.7.24-1.el7.x86_64.rpm
安装rpm包会自动替换之前的包,不用手动删除
启动数据库,然后mysql -V或者status查看数据库版本
逻辑升级