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

相关推荐
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫4 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8784 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H5 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵6 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking6 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客8 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
Jim6009 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql