ubuntu 升级mysql由mysql5.7.42 升级到8.4.0

ubuntu 升级 mysql5.7.42 到 8.4.0

1.备份数据库数据

2.卸载mysql5.7.42

2.1停止 MySQL 服务

systemctl stop mysql

2.2卸载所有 MySQL 5.7 包

apt remove --purge mysql-server mysql-client mysql-common mysql-community-server mysql-community-client mysql-community-common

2.3清理残留文件和目录

sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql /var/log/mysql* /etc/init.d/mysql

sudo rm -rf /usr/lib/mysql /usr/share/mysql /usr/bin/mysql /usr/sbin/mysqld

sudo rm -rf /etc/systemd/system/mysql.service

sudo rm -rf /var/run/mysqld

apt autoremove -y

apt autoclean -y

2.4确认系统里没有残留

dpkg -l | grep mysql

3.安装mysql8.4.0

3.1 下载 Oracle 官方仓库包

wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb

3.2.配置 MySQL APT 仓库(你已有 .deb 文件)

dpkg -i /home/mysql-apt-config_0.8.36-1_all.deb

选择 mysql-8.4-lts

保留其他默认选项

3.3.然后更新软件包信息

sudo apt update

3.4.安装 MySQL 8.4

sudo apt install -y mysql-server

3.5.修改mysql配置文件忽略大小写

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

添加配置

mysqld

lower_case_table_names=1

character-set-server=utf8mb4

collation-server=utf8mb4_0900_ai_ci

必须在初始化数据目录前设置,否则大小写配置无法生效。 ctrl + o 保存 回车enter ctrl+x 退出

3.6.初始化数据库目录(通常安装包会自动执行,如果需要手动)

sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

3.7.启动 MySQL 并设置开机自启动

sudo systemctl start mysql

sudo systemctl status mysql

sudo systemctl enable mysql

3.8.查看临时密码

sudo grep 'temporary password' /var/log/mysql/error.log

3.9 修改为新密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '******';

FLUSH PRIVILEGES;

4.0 验证配置是否成功

SHOW VARIABLES LIKE 'lower_case_table_names'; value的值应该是1 表示忽略大小写

4.1 创建远程访问用户 以及对应数据库 并赋权

CREATE USER 'lfarb'@'%' IDENTIFIED BY '密码';

CREATE DATABASE lfarb CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

GRANT ALL PRIVILEGES ON lfarb.* TO 'lfarb'@'%';

4.2 验证安装成功

mysql --version

4.3.导入数据备份

相关推荐
源代码•宸11 分钟前
分布式缓存-GO(项目整体架构简介、Ubuntu 22.04 64位安装GoLang、安装Docker、解决Go module 的依赖问题)
经验分享·分布式·后端·ubuntu·缓存·docker·golang
l1t21 分钟前
利用Duckdb求解Advent of Code 2025第5题 自助餐厅
数据库·sql·mysql·算法·oracle·duckdb·advent of code
新青年.43 分钟前
【Ubuntu】Ubuntu下解决Chrome不能输入中文
linux·chrome·ubuntu
豐儀麟阁贵2 小时前
9.6使用正则表达式
java·开发语言·数据库·mysql
starvapour3 小时前
Ubuntu部署gitlab频繁出现500的问题
linux·ubuntu·gitlab
西岭千秋雪_3 小时前
MySQL日志梳理(服务器层)
java·运维·服务器·数据库·mysql
ao_lang4 小时前
MySQL--多版本并发控制(MVCC)
数据库·mysql
霸王大陆4 小时前
《零基础学PHP:从入门到实战》教程-模块七:MySQL 数据库基础-5
数据库·mysql·php
翔云1234564 小时前
mysql.gtid_executed 表的初始化和更新机制
数据库·mysql·adb
街灯L4 小时前
【Ubuntu】安装配置nginx文件版
服务器·nginx·ubuntu