mysql8.0.25升级到mysql8.0.29

本文档详细记录了如何从MySQL 8.0.25升级到8.0.29的步骤,包括备份数据库、安装新版本、初始化数据库、修改密码及恢复数据等关键操作,确保数据库安全升级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql8.0.25升级到mysql8.0.29

最近漏洞扫描,扫描出了数据库存在中、高危漏洞,于是迫切需要进行数据库升级。上网查了各种资料,说法很多,也到自己虚拟机上试了好多方法,终于倒腾出来,做下小总结记录一下。

1、备份原数据库

进入旧mysql的bin目录下,把所有数据都导出到/data/mysqlData/all.sql

./mysqldump -uroot -p123456 --all-databases > /data/mysqlData/all.sql

2、安装新的数据库

先停掉旧的数据库服务:

systemctl mysql stop
#上传mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz到指定目录,并解压
tar -xvf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.29-linux-glibc2.12-x86_64 mysql

#修改原/etc/my.cnf文件,文件目录指向新版本mysql文件地址
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log_error = /usr/local/mysql/mysql-error.log
port = 3306
socket = /usr/local/mysql/mysql.sock
pid_file = /usr/local/mysql/mysqld.pid

character-set-server=utf8
lower_case_table_names=1
max_connections=1000
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#skip-grant-tables

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

3、初始化数据库

进入新mysql的bin目录下,执行:

 ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize

把mysql服务链接到/usr/bin目录下:

ln -s /usr/local/mysql/bin/mysql /usr/bin

查看初始密码,启动数据库:

cat /usr/local/mysql/mysql-error.log

#启动mysql
systemctl mysql start

#查看mysql版本
mysql -V

#修改初始密码
mysql -uroot -p'初始密码'

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

#恢复备份文件
use mysql
source /data/mysqlData/all.sql #第一步备份文件的地址

到此,版本升级完成,登录到mysql,可以看到旧版本的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值