如果是第一次安装mysql便可以直接看第三步
第一步:数据备份
我选择的是备份全部数据
- 以管理员身份运行cmd
- 输入
mysqldump -u root -p --all-databases --routines --triggers --single-transaction > C:\ProgramTools\MySql\backup_5.6.sql
其中:-u root -p 是用来以 root 用户进行备份,你会被提示输入 MySQL 密码。
–all-databases 表示备份所有数据库,
–routines 备份存储过程,
–triggers 备份触发器,
–single-transaction 确保备份过程中不会锁定表,
C:\ProgramTools\MySql\backup_5.6.sql表示你要将数据备份的路径(会在相应的路径下生成你需要备份的数据的sql文件)
第二步:卸载旧的5.6版本的mysql
2.1 停止 MySQL 服务
- win+r打开cmd窗口
- 运行
services.msc
并按 Enter 键 - 查找与 MySQL 相关的服务,通常命名为 MySQL、MySQL56 或类似名称。右击该服务,选择“停止”。
- 删除服务(如果服务仍然存在):打开命令提示符(以管理员身份)。运行
sc delete MySQL
删除服务(注意sc delete MySQL中的MySQL要与你上述查找与 MySQL 相关的服务的名称一致,否则会报错)
2.2 删除 MySQL 文件夹
- 找到本地mysql安装路径,删除安装文件夹(安装目录)
比如我将mysql安装在了C:\ProgramTools\MySql
文件夹,那么我就进入 C:\ProgramTools\MySql 目录,手动删除整个 MySQL 文件夹。 - 删除数据目录
通常数据目录位于 C:\ProgramData\MySQL。如果你在安装时指定了不同的数据目录,也需要删除那个目录。
删除整个 C:\ProgramData\MySQL 文件夹(请确保已经备份了重要数据)。
(我安装mysql时使用的自定义路径,遂没有找到相应的文件夹,遂省略了这一步的删除)
2.3 清理注册表项
警告:操作注册表时请小心。错误的操作可能会导致系统不稳定。建议先备份注册表:
-
备份注册表
按 Win + R,输入 regedit 打开注册表编辑器。
选择“文件” > “导出”,保存一个备份文件。
如果修改或删除特定分支后出现问题,你可以通过双击备份文件来恢复这些特定的注册表项。 -
删除 MySQL 注册表项:
win+R 输入regedit打开注册表
找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\MySQL
右键删除
2.4 清理环境变量
电脑:查看高级系统设置→环境变量→系统变量(S)→Path→编辑,删除包含 MySQL 路径(例如 C:\ProgramFiles\MySQL\MySQL Server 5.6\bin)的条目,然后一直点确定
2.5 重启电脑
最好是重启一下
第三步:安装mysql 8
3.1 下载安装包
我下载的是8.0.31版本的mysql:下载地址
3.2 my.ini配置文件
将下载好的zip文件解压,在解压后的目录下新建 my.ini
配置文件(此处请确保你的文件拓展名打开了)
my.ini
配置内容如下
[mysqld]
# 设置3306端口
port=3306
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64
# 自定义设置mysql数据库的数据存放目录
datadir=C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTFMB4
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8mb4
相关参数说明:
- port 表示 MySQL 服务器的端口号。
- basedir 表示 MySQL 的安装路径。
- datadir 表示 MySQL数据文件的存储位置,也是数据表的存放位置。
- max_connections 表示允许同时访问MySQL服务器的最大连接数,其中一个连接是保留的,留给管理员专用的。
- max_connect_errors 表示允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统。
- default-character-set 表示服务器端默认的字符集。
- default-storage-engine 创建数据表时,默认使用的存储引擎。
- default_authentication_plugin 默认使用“mysql_native_password”插件认证,而非caching_sha2_password。
3.3 执行初始化
以管理员身份运行cmd
点进安装目录的bin目录,复制路径
命令行执行:cd C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\bin
,(C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\bin为你上面复制的bin的路径)切换到安装目录的bin目录
然后执行:mysqld --defaults-file=C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\\my.ini --initialize --console
,(C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\my.ini为你的my.ini路径)
记下 root@localhost:
后边的你的初始密码,我的为 iemodpItS5?h
,后续用于登录修改密码。
3.4 创建服务
命令行继续执行:mysqld install MySQL8 --defaults-file="C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\\my.ini"
,(C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\\my.ini为你的my.ini路径)
出现Service successfully installed.说明服务已创建成功。
3.4 启动服务
命令行继续执行: net start MySQL8
,(MySQL8为mysql服务名)启动服务
登录:输入 mysql -u root -p
,输入:iemodpItS5?h
(使用之前记录的密码 iemodpItS5?h 进行登录)
修改登录密码:执行下述三个命令
执行第一条语句成功后,再执行第二条语句。
第二条语句执行成功后,执行第三条语句完成设置。
注意:第二条语句中末尾引号中的xxx为你自定义的密码。
- 第一条
alter user root@localhost identified by 'password' password expire never;
- 第二条
alter user root@localhost identified with mysql_native_password by 'xxx';
- 第三条
flush privileges;
3.5 使用新密码进行登录
在上述内容的基础上,继续执行:exit
,退出登录
重新登录:输入 mysql -u root -p
后输入你刚刚设置的密码,便可以成功登录啦
3.6 配置系统环境变量
作用:配置系统全局变量后就可以在任意目录下连接mysql而不用每次都切换到[你的mysql安装路径]\bin下才能连接了
查看高级系统设置→环境变量→系统变量(S)
新建变量,变量名为:MYSQL_HOME
,变量值为 [你的mysql安装路径]\bin
,如我的就是 C:\File\InstallationPackage\mysql\mysql-8.0.31-winx64\bin
在Path中加入你新增的路径信息
然后一直点确定
这样你就可以在任意目录下连接mysql了
至此,成功将数据库版本变为 8.0.31
找到你之前第一步备份的sql文件便可以将相关数据导入现在的数据库中了