基于centos7的MySQL5.7二进制安装包的逻辑升级

来源:这里教程网 时间:2026-03-01 15:59:19 作者:

一、逻辑升级

1.1升级前准备

打开mysql官网下载页面:https: // downloads.mysql.com/archives/community/ ,下载要升级的对应版本的数据库,并上传到指定目录。

检查你的升级路径,数据库升级不支持跳过版本的升级,例如,不支持直接从MySQL 5.5升级到8.0。建议先升级到最新版本,再升级到下一版本。支持在发行系列中进行升级。

检查你的配置文件,查看参数设置是否与新版本的数据库兼容。

1.2 备份数据

从旧的 MySQL 安装导出您的现有数据

shell> /mysql/mysql57/app/bin/mysqldump -u root -p -S /mysql/mysql57/product/data/mysql.sock--add-drop-table --routines –events --all-databases --force > /mysql/mysql57/data-for-upgrade.sql

1.3 关闭旧的MySQL服务器

shell> /mysql/mysql57/app/bin/mysqladmin -u root -p -S /mysql/mysql57/product/data/mysql.sock shutdown

1.4 安装新的MySQL 

解压新的数据库到指定目录:

shell> tar zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /mysql/mysql571/app --strip-components=1

创建新的配置文件

shell> mv /etc/my.cnf /etc/my.cnf.bak
shell> vim /mysql/mysql571/app/my.cnf
[mysqld]
user=mysql
port=33071
basedir=/mysql/mysql571/app
datadir=/mysql/mysql571/product/data
socket=/mysql/mysql571/product/data/mysql.sock
log_error=/mysql/mysql571/product/data/myerror.log
innodb_file_per_table=1
server_id=571
slow_query_log=1
log-bin=mysql-bin
binlog_format=ROW

实施过程中需要根据实际情况和需求自行添加和调整参数  初始化MySQL5.7:

shell> cd /mysql/mysql571/app
shell> ./bin/mysqld --defaults-file=/mysql/mysql571/app/my.cnf --initialize
shell> tail /mysql/mysql571/product/data/myerror.log
2021-03-03T01:44:49.248365Z 1 [Note] A temporary password is generated for root@localhost: qdcf_Vl>k8LP

获取数据库初始登录临时密码:qdcf_Vl>k8LP 配置数据库服务:

shell> cp /mysql/mysql571/app/support-files/mysql.server /etc/init.d/mysqld571
shell> vi /etc/init.d/mysqld571
basedir=/mysql/mysql571/app
datadir=/mysql/mysql571/product/data

启动数据库:

shell> /mysql/mysql571/app/bin/mysqld_safe --defaults-file=/mysql/mysql571/app/my.cnf --user=mysql &

修改root用户密码:

shell> /mysql/mysql571/app/bin/mysqladmin -uroot -p"qdcf_Vl>k8LP" -S /mysql/mysql571/product/data/mysql.sock password "Abcd321#"
shell> mysql -uroot -pAbcd321# -S /mysql/mysql571/product/data/mysql.sock

1.5 恢复数据到新数据库

shell> mysql -u root -p -S /mysql/mysql571/product/data/mysql.sock --force < /mysql/mysql57/data-for-upgrade.sql

1.6 升级数据库

mysql_upgrade检查所有数据库中的所有表,以检查与当前版本的 MySQL 是否兼容。 mysql_upgrade还升级了系统数据库,以便您可以利用新的特权或功能。

shell> /mysql/mysql571/app/bin/mysql_upgrade -u root -p -S /mysql/mysql571/product/data/mysql.sock

1.7 重启数据库

关闭并重新启动MySQL服务器,以确保对系统表所做的所有更改均生效:

shell> /mysql/mysql571/app/bin/mysqladmin -u root -p shutdown
shell> /mysql/mysql571/app/bin/mysqld_safe --user=mysql --defaults-file=/mysql/mysql571/app/my.cnf &

相关推荐