MySQL如何从5.5升级到8.0(使用命令行升级)

 更新时间:2023年03月06日 09:29:24   作者:摸鱼小玩子  
最近为了解决mysql低版本的漏洞,这篇文章主要给大家介绍了关于MySQL如何从5.5升级到8.0的相关资料,主要使用的命令行升级,文中通过图文介绍的非常详细,需要的朋友可以参考下

谁没事想重装数据库啊

学到了数据库原理,实验作业里面有新建角色的SQL语句,但是我打上去运行就给我报错了,本来想去找替代的语法的,结果告诉我role是MySQL8新增的,MySQL8之前都没有。要不,升级一下吧。

其实第一次装MySQL的时候装的就是8.0版本的,后来跟着写一个小项目,MySQL版本是5.5的,写的时候很难受,就直接卸掉了8.0,重装了5.5,卸载重装的时候觉得甚是不合理,折腾了好久,当时就想再也不要装数据库了。

然后真香了,这次就想用简单一点的方式安装。

准备

万事先备份

我用的数据库编辑软件是sqlyog,点击菜单栏数据库–>备份/导出–>备份数据库,转存到SQL

再选择相应的数据库保存到你想要保存的路径就可以了

1、下载要安装的MySQL版本

这里是官网

https://downloads.mysql.com/archives/community/  或者点击这里下载

随机选择一个8.0版本的压缩包,不建议选最新的

然后将安装包解压到你要安装的目录

我选择放在了上次安装的目录:D:\develop\MySQL

2、配置环境变量

新建系统变量

  • 变量名:MYSQL_HOME
  • 变量值:D:\develop\MySQL\mysql-8.0.20-winx64\bin

.

在Path中新建路径:%MYSQL_HOME%

3、添加配置文件

新建my.ini添加至mysql-8.0.20-winx64目录下

# my.ini
[mysqld]
#skip-grant-tables
 
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\develop\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\ProgramData\MySQL/MySQL Server 8.0\Data\
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

安装

1、卸载MySQL5.5

以管理员身份运行命令提示符

cd 到MySQL5.5的bin目录
C:\Windows\system32>cd D:\develop\MySQL\MySQL Server 5.5\bin

命令行输入命令:
mysqld --remove mysql5可能会报错

打开任务管理器查看MySQL名称,原名称是mysql5

重新键入
mysqld --remove mysql5

显示服务器正在运行,需停止服务器

方法一:直接在任务管理器的服务中找到mysql5,右键停止运行

方法二:控制面板输入net stop mysql5

再次输入mysqld --remove mysql5

2、安装新的MySQL8.0

cd到D:\develop\MySQL\mysql-8.0.20-winx64\bin目录下

安装
mysqld -install

初始化
mysqld --initialize --user=mysql --console

Data目录不可用,C:\ProgramData\MySQL\MySQL Server 8.0\Data\这个目录我只是参照原来的目录把5.5改成了8.0填进了my.ini文件,实际不存在,手动建C:\ProgramData\MySQL\MySQL Server 8.0\Data\文件夹后成功

产生的临时密码会用到,先保存下来

进入数据库
mysql -u root -p

再输入上一步生成的临时密码

显示MySQL连接出错

尝试打开数据库连接net start mysql

服务器无法启动,可能是my.ini没有放在bin下

或是原来的Data没有删除,导致出错,我原来的C:\ProgramData\MySQL\MySQL Server 5.5文件夹没有删除,删除之后就可以连接上了

输入临时密码还是不能进数据库

改了一条指令
mysqladmin -u root -pshutdown

再输入密码连接成功
mysql -uroot -pJ(I%Ea2h;MDc

这时候已经是8.0版本了

修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
BY后面跟你自己的密码

退出数据库再此进入就可以用新的密码了

后续

备份导入

SQLyog直接打开已经自动连接上新的数据库了,只有几个基本的数据库

可以把备份sql文件导入还原

数据恢复成功

总结

到此这篇关于MySQL如何从5.5升级到8.0的文章就介绍到这了,更多相关MySQL5.5升级到8.0内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql启动报错MySQL server PID file could not be found

    mysql启动报错MySQL server PID file could not be found

    这篇文章主要介绍了mysql启动报错MySQL server PID file could not be found,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • MySql逗号分割的字段数据分解为多行代码示例

    MySql逗号分割的字段数据分解为多行代码示例

    逗号分割的字符串可以作为分组数据的标识符,用于对数据进行分组和聚合操作,下面这篇文章主要给大家介绍了关于MySql逗号分割的字段数据分解为多行的相关资料,需要的朋友可以参考下
    2023-12-12
  • mysql对于模糊查询like的一些汇总

    mysql对于模糊查询like的一些汇总

    这篇文章主要给大家介绍了关于mysql对于模糊查询like的一些汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 安装mysql noinstall zip版

    安装mysql noinstall zip版

    没用过mysql, 这几天折腾django ,发现连接mssql好像还是有些小bug,为了防止日后项目有些莫名的db故障,故选择django推荐之一的mysql
    2011-12-12
  • 浅析MySQL显式类型转换

    浅析MySQL显式类型转换

    这篇文章主要介绍了MySQL显式类型转换的基础知识,通过实例给出了分析结果,一起学习下吧。
    2017-12-12
  • 面试被问select......for update会锁表还是锁行

    面试被问select......for update会锁表还是锁行

    select … for update 是我们常用的对行加锁的一种方式,那么select......for update会锁表还是锁行,本文就详细的来介绍一下,感兴趣的可以了解一下
    2021-11-11
  • linux CentOS6.5 yum安装mysql5.6

    linux CentOS6.5 yum安装mysql5.6

    这篇文章主要为大家详细介绍了linux CentOS6.5 yum安装mysql5.6的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • mysql存储过程基础之遍历多表记录后插入第三方表中详解

    mysql存储过程基础之遍历多表记录后插入第三方表中详解

    这篇文章主要给大家介绍了关于mysql存储过程教程之遍历多表记录后插入第三方表中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-07-07
  • Last_Errno: 1062,Last_Error: Error Duplicate entry

    Last_Errno: 1062,Last_Error: Error Duplicate entry

    Last_Errno: 1062,Last_Error: Error Duplicate entry ... for key PRIMARY
    2014-02-02
  • MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解

    MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解

    这篇文章主要介绍了MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解,CONCAT 函数用于将两个字符串连接为一个字符串,本文通过实例代码详细讲解,需要的朋友可以参考下
    2023-02-02

最新评论