从MySQL5.6(带数据库)升级到5.7的成功实践过程

本文详细记录了在Windows 2008 R2 64位系统上,从MySQL5.6升级到5.7.33的步骤,包括下载新版本、创建新目录、复制旧数据库、修改环境变量、安装所需插件、创建配置文件和启动新服务等。升级过程中特别强调了可能遇到的问题,如缺少VC++ 2013插件和服务路径错误,提醒读者注意避免。

服务器环境

这次升级的服务器为windows 2008 r2 64位版本,原mysql为5.6版本 。

目标:将mysql升级到5.7.33版本

下载新版mysql

下载地址:https://downloads.mysql.com/archives/community/

在页面中,按服务器环境,选择mysql5.7.33版本,下载64-bit版本

 

服务器目录

原mysql目录:C:\Program Files\MySQL\MySQL Server 5.6

原mysql 数据库目录:C:\ProgramData\MySQL\MySQL Server 5.6

创建新的mysql目录

新建目录:C:\Program Files\MySQL\MySQL Server 5.7

将下载好的压缩包,解压到此目录

停止mysql5.6的服务

办法一:【开始菜单】-->【管理工具】-->【服务器管理】-->【服务】

在【服务】列表中,找到【mysql】字样的服务项,鼠标右键,点【停止】

办法二:打开命令行,输入(假设服务名称是 mysql5.6  注:有可能是别的名称)

net stop mysql5.6

去掉mysql5.6的服务

mysqld --remove mysql5.6

 

复制旧数据库

新建目录:C:\ProgramData\MySQL\MySQL Server 5.7

将旧数据库目录 C:\ProgramData\MySQL\MySQL Server 5.6 中的文件,全部复制到 新建的目录

之所以这样操作,是为了避免在升级过程中出错,我们还可以恢复原运行环境

 

修改服务器环境变量

一般windows服务器安装mysql及php,均会对环境变量进行修改,设定其中的path变量。

途径:鼠标右键点桌面上的【计算机】-->【属性】-->【高级系统设置】-->【环境变量】

将path变量中,原来指向mysql 5.6的目录,改为新的5.7的目录

 

下载运行mysql 5.7需要的服务器插件 

windows 2008上运行mysql 5.7,会要用到插件Visual C ++ 2013和Visual C ++

若你的mysql/bin目录下,运行mysqld命令,服务器显示错误  “程序无法正常启动(0xc000007b)”之类的,主要就是缺少相应的dll,直接下载一个插件来安装即可解决。

下载地址:https://support.microsoft.com/en-us/topic/update-for-visual-c-2013-and-visual-c-redistributable-package-5b2ac5ab-4139-8acc-08e2-9578ec9b2cf1

创建my.ini配置文件

特别留意一点:

填入你服务器上对应的目录,斜杠要用双斜杠 \\


# These are commonly set, remove the # and set as required.
basedir = C:\\Program Files\\MySQL\\MySQL Server 5..7\\
datadir = C:\\ProgramData\\MySQL\\MySQL Server 5..7\\Data
port = 3306
server_id = 093306


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

 

安装mysql 5.7服务

在此之前,最好能重启一次服务器,保证修改后的服务器环境变量生效。

进入  mysql5.7的目录/bin,在命令行中执行以下命令

mysqld --install mysql5.7
Service successfully installed.

 

此处有坑

在服务创建后,记得去【服务】列表中,双击点开服务的属性,查看可执行文件的路径是否为新的5.7的目录

我就是来来回回,创建,结果因为服务器环境变量没有生效,生成的服务还一直是指向旧的mysql5.6目录。

 

启动MySQL 5.7服务

net start mysql5.7
mysql5.7 服务正在启动 ..
mysql5.7 服务已经启动成功。

升级数据库

在命令行执行升级语句

-s 是指仅升级系统数据表

mysql_upgrade -u root -p  -s

总结

其实整个升级过程还是蛮简单的,但基本上会遇到两个坑

1、mysql 5.7 因为服务器要依赖于vc c++ 2013,直接运行,会出错

2、删除 旧的mysql5.6服务,一定要调整服务器环境变量,不然来来回回install 时,新建的服务依然会指向旧的mysql 5.6目录

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值