首页 > 数据库 >MySQL 5.X升级到8.X

MySQL 5.X升级到8.X

时间:2023-01-15 16:24:46浏览次数:74  
标签:MACHINE cmd 升级 文件夹 mysql Services MySQL

1.备份数据

打开SQLyog,备份数据库为sql文件,以防升级过程中造成数据丢失。

2.卸载MySQL 5.X

2.1 停止服务

按win键输入cmd,右键选择以管理员身份打开,输入 net stop mysql 停止服务。

2.2 删除文件

找到MySQL的安装路径,删除文件夹;再找到C盘的隐藏文件夹:programDate,找到里面的MySQL文件夹删除。

2.3 删除注册表残留

win+R 输入 regedit 打开注册表,在注册表中找到MySQL目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL目录
再删除 以下文件夹(下面的文件夹有的人有,有的人没有,有就删除)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

2.4 删除mysql服务

cmd中输入 sc delete mysql
至此,MySQL 5.X卸载完成。

3.安装MySQL 8.X

3.1 下载

MySQL下载链接:MySQL下载,选择合适版本下载,然后解压到本地。

3.2 配置环境




添加本地MySQL文件夹下的bin文件夹到path变量。

打开本地mysql文件夹,新建 mysql.ini 配置文件。MySQL 5.7 以上版本默认没有data属性文件,不要手动创建。
mysql.ini为配置文件
data文件夹用于存放数据库数据

注意配置文件mysql.ini需要修改两个部分 1数据库安装目录2数据库的数据的存放目录需要修改为自己的路径

[mysql]

设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]

设置3306端口
port = 3306

设置mysql的安装目录 *** 需要修改
basedir=D:\software\mysql-8.0.26-winx64

设置mysql数据库的数据的存放目录 *** 需要修改
datadir=D:\software\mysql-8.0.26-winx64\data

允许最大连接数
max_connections=200

服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8

创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

3.3 安装MySQL

配置完成后,管理员身份打开cmd,执行 mysqld --initialize-insecure
执行完成后没有任何输出信息,查看MySQL文件夹会发现多出了data文件夹。
紧接着执行 mysqld install 命令。

3.4 启动服务

还是cmd,输入 net start mysql

4.安装后的一些配置

初次安装之后,需要修改密码,cmd输入 mysql -u root -p,之后要求输入密码,初次登陆没有密码,直接按回车。

之后修改密码,依然是cmd,执行 mysqladmin -u root -p password,按回车跳过输入密码阶段,之后输入两次新密码,按回车,密码修改完成。

注意事项

当我们使用可视化工具去连接MySQL 8.X的时候,可能会报错,这里使用SQLyog连接时,报了1251的错误码,这是由于MySQL不同版本之间不同的加密规则造成的,我们只需要更改即可。
错误详情:

1251 client does not support authentication protocol requested by server;consider upgrading Mysql client

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

解决办法:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;  ##修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; ##更新一下用户的密码 password 为自己想要重新设置的密码

FLUSH PRIVILEGES; ##刷新权限

本篇博客参考以下文章 手把手系列——MySQL5.x版本升级到MySQL8.x

标签:MACHINE,cmd,升级,文件夹,mysql,Services,MySQL
From: https://www.cnblogs.com/sashuishui/p/17053620.html

相关文章

  • MySQL8 转存的 SQL,到 MySQL5 中运行报错 Unknown collation utf8mb4_0900_ai_ci
    转:解决MySQL8转存的SQL,到MySQL5版本中运行报错问题将sql文件中的所有utf8mb4_0900_ai_ci替换为utf8_general_ci,utf8mb4替换为utf8,保存后再次运行sql文件......
  • MySQL的pymysql操作
     MySQL性能强劲,是目前使用最广泛的数据库之一,以 MySQL为学习原型也方便之后掌握其他数据库,下面就给大家全面讲解下MySQL8.0的新特性,从零基础到高阶一站式学习,结合实际案例......
  • MySQL数据库基本操作-DML
     MySQL性能强劲,是目前使用最广泛的数据库之一,以 MySQL为学习原型也方便之后掌握其他数据库,下面就给大家全面讲解下MySQL8.0的新特性,从零基础到高阶一站式学习,结合实际案例......
  • MySQL架构-sql查询执行流程-sql解析顺序
    参考:https://www.cnblogs.com/annsshadow/p/5037667.htmlMySQL架构sql查询执行流程sql解析顺序......
  • Mysql 事务
    1.什么是事务事务是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。在同一个事务当中,这些操作最终要么全部执行成功,要么全部失败,不会存在部分......
  • MySQL 主从复制
    MySQL主从复制(0.5)1、概述MySQL主从复制是一个异步的复制过程,底层是基于MySQL数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库......
  • Mysql ERROR 1045 (28000):
    MysqlERROR1045(28000):Accessdeniedforuser​​'root'@'localhost'​​这种问题需要强行重新修改密码,方法如下:/etc/init.d/m......
  • -bash: mysql: command not found 解决办法
    root@DB-02~]#mysql-uroot-bash:mysql:commandnotfound原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是......
  • 使用 NodeJS 更新 MySQL 中的记录
    在本文中,我们将看到如何使用NodeJS更新MySQL中的记录。我们将从Node.js服务器动态更新MySQL表值。您可以在更新后使用select语句来检查MySql记录是否已更新。在......
  • mysql 数据库设计三大范式
    1.什么是设计范式设计表的依据,按照范式设计出来的表,不会出现数据的冗余数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构清晰的;反之则是......