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.导入数据备份

相关推荐
CodexDave12 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
一叶龙洲12 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker14 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
王琦031814 小时前
生产环境中使用通用二进制包安装
mysql
keyipatience15 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼16 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~17 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
蓝田~17 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
Herbert_hwt17 小时前
MySQL学习前言:关于MySQL的历史与当下学习的必要性
mysql
时间的拾荒人18 小时前
MySQL 视图详解
android·数据库·mysql