重装 MySQL 的核心是彻底清理旧环境、避免端口或配置冲突,并按需初始化新实例。关键在于卸载干净、数据迁移谨慎、配置合理。
彻底卸载旧 MySQL
残留的配置文件或数据目录会导致新安装失败或启动异常。
停止服务:sudo systemctl stop mysql(或 mysqld,视系统而定) 卸载软件包:sudo apt purge mysql-server mysql-client mysql-common(Ubuntu/Debian);sudo yum remove mysql-community-server(CentOS/RHEL) 删除残留:sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql(确认无重要数据再执行) 清理用户和组:sudo deluser --remove-home mysql;sudo delgroup mysql安装新版 MySQL
推荐使用官方源安装,版本可控、更新及时。
添加官方 APT/YUM 源(参考 dev.mysql.com/downloads/repo) 更新包索引后安装:sudo apt update && sudo apt install mysql-server 安装后服务默认未启动,运行 sudo systemctl start mysql 并设为开机自启:sudo systemctl enable mysql初始化与安全配置
首次启动会自动生成 root 密码(查看 /var/log/mysql/error.log 中 A temporary password 行),需立即修改。
登录:sudo mysql -u root -p(输入临时密码) 重置 root 密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass123!'; 运行安全脚本:sudo mysql_secure_installation(建议禁用匿名用户、禁止远程 root、删除 test 库)恢复数据(如需)
仅在有完整备份前提下操作,切勿直接拷贝 data 目录到新版本——版本不兼容易导致崩溃。
用 mysqldump 导出的 SQL 文件可跨版本导入:mysql -u root -p database_name 若原库无法启动,先尝试用 mysqlcheck --repair 修复,再导出 新实例中创建同名数据库:CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;