最近博主由于工作原因需要把之前安装好的的mysql 5.6.44版本卸载,然后安装mysql 5.7.*版本。

前提:为什么要升级到5.7版本?

因为博主在5.6版本上执行脚本时候报出异常:to your MySQL server version for the right syntax to use near 'json DEFAULT...

大概意思是5.6版本不支持原生json 数据的插入

度娘说:MySQL5.7版本终于支持了原生的JSON格式,即将关系型数据库和文档型NO_SQL数据库集于一身。

链接地址:http://www.bubuko.com/infodetail-1777950.html

所以不得已要升级到5.7,期间走了很多弯路,遇到很多坑,现总结如下,希望能帮助到你:

安装过程十分艰辛,遇到了好几个错误总结如下:

1:Can't connect to MySQL server on 'localhost' (10061)

2:-initialize specified but the data directory has files in it. Aborting

3:TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults

4:Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

解决方案,无非就是需要注意几点:

1:某些命令一定要在管理员权限下执行,就是用管理员模式开启命令提示符

2:某些命令一定要在mysql/bin  目录下执行,文章中有标出

3:mysql 5.7默认是无data文件夹的,net start mysql  #启动mysql  命令一定要保证有data文件夹

4:mysql 5.7.27版本 my-default.ini  不能写port=3306 不然会报错

5:有时候错误需要在my-default.ini 文件中加入explicit_defaults_for_timestamp=true

6:查看mysql启动错误命令     mysqld --console

7:如果遇到中途的mysql配置路径错误导致服务中存在mysql

(如:mysqld install MySQL --defaults-file="D:\mysql5.7.27\mysql-5.7.27-winx64\my-default.ini" #安装新版本mysql    这里边的ini路径输入错误后 回车,系统服务中会存在mysql,但是启动不了),

  执行sc delete mysql 删除不掉服务的情况,需要打开任务管理器中找到mysql进程关闭之后再  执行sc delete mysql就可以成功删除mysql 服务了

8:如果在安装过程中某一步错误,导致需要重新执行安装mysql命令,切记需要保证(D:\mysql5.7.27\mysql-5.7.27-winx64\data\)data 路径下为空,如果有文件要删除后执行安装命令。

第一步:官网下载mysql5.7.27 zip文件,官方地址:https://dev.mysql.com/downloads/mysql/

有32位和64位两个版本,博主64位点击下载

第二步:下载好之后解压

第三步:文件夹里面默认没有my-default.ini文件,需要我们新建一个basedir和datadir需要改成你安装的路径地址,以下是我的my-default.ini配置

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
# 设置mysql的安装目录
basedir = D:\Mysql5.27\mysql-5.7.27-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\Mysql5.27\mysql-5.7.27-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎
# 为事务存储引擎启用严格模式,也可能为非事务存储引擎启用严格模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 开启查询缓存
explicit_defaults_for_timestamp=true

  

MySQL 5.7版本中sql_mode更加严格。解释下各个mode的含义:

ONLY_FULL_GROUP_BY             不要让GROUP BY部分中的查询指向未选择的列  
STRICT_TRANS_TABLES 为事务存储引擎启用严格模式,也可能为非事务存储引擎启用严格模式
NO_ZERO_IN_DATE 在严格模式,不接受月或日部分为0的日期
NO_ZERO_DATE 在严格模式,不将 '0000-00-00'做为合法日期
ERROR_FOR_DIVISION_BY_ZERO 在严格模式,在INSERT或UPDATE过程中,如果被零除(或MOD(X,0)),则产生错误  
NO_AUTO_CREATE_USER 防止GRANT自动创建新用户,除非还指定了密码
NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎 注意:在一个主从环境下,为保证数据的一致性,一定要设置主从的sql_mode一样,在数据迁移的时候也要保证sql_mode的一致,不然复制和迁移遇到上面的限制均会失败,所以尽可能使用标准SQL语法。

 

第四步:配置环境变量

第五步:停止服务里边mysql

cmd->services.msc   #打开服务

找到mysql停止

第六步:查看mysql版本是否正确

cmd->mysql --help

第七步:卸载5.6版本,这步很关键,博主找了很多资料,终于解决  参考链接:https://blog.csdn.net/qq_39701269/article/details/77935490

cmd->sc query mysql        #管理员身份运行,输入sc query mysql,查看一下名为mysql的服务

sc delete mysql  #删除该mysql

第八步:安装mysql 5.7.27 参考链接:https://www.cnblogs.com/super-wking/p/10551936.html

1:安装Mysql命令如下:

mysqld install MySQL --defaults-file="D:\mysql5.7.27\mysql-5.7.27-winx64\my-default.ini"  #安装新版本mysql

  

2:获取mysql临时密码如下

注意:一定要进入到mysql安装bin目录下执行以下命令!!!!

mysqld --initialize --user=mysql --console  #初始化 获取root随机密码 “root@localhost”后的随机字符串就是root的临时密码。

  

注意:如果出现如下情况,说明mysql之前版本没有卸载干净,执行之步骤七就好

3:启动mysql

注意:一定要进入到mysql安装bin目录下执行以下命令!!!!

net start mysql #启动mysql

  

第九步:修改mysql密码

mysql -u root -p #进入mysql输入之前的临时密码

  

第十步:设置root新密码

set password = password('root');

设置成功后exit 退出,重新执行以下命令,密码是你自己设置的,我设置的密码是root

mysql -u root -p

  

至此mysql升级完毕!!!

添加新用户权限:

grant select,insert,update,delete on book.* to test@localhost Identified by "abc";

参考链接:https://www.cnblogs.com/wanghuaijun/p/5802209.html

给某个用户某个数据库权限

GRANT  select,insert,delete,update  ON  testdb.*  TO 'test'@'%';

参考链接:https://www.cnblogs.com/tianrunzhi/p/8316141.html

【mysql升级步骤】windows mysql版本升级 ,mysql 5.6 升级到5.7.27的更多相关文章

  1. MySQL入门——在Windows下安装MySQL

    MySQL入门——在Windows下安装MySQL 摘要:本文主要说明了如何下Windows环境下安装MySQL. 查看电脑上是否安装了MySQL 打开cmd窗口,输入 services.msc 命令 ...

  2. 转:mysql日志(Windows下开启Mysql慢查询、通用日志)

    一.Windows下开启Mysql慢查询详解 //show variables like '%quer%';查询是否开启了慢查询!! 第一步:修改my.ini(mysql配置文件)  在my.ini中 ...

  3. MySQL集群---②Windows平台搭建MySQL CLUSTER集群

    原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...

  4. MySql安装步骤详解,MySql的root密码设置,启动MySql服务。

    1.下载mysql安装包,并解压,双击mysql-5.6.24-winx64.msi 2.点击下一步 3.选择custom 4.选择安装内容和位置,5个安装内容要选择will be installed ...

  5. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  6. windows、linux mysql部署

    阅读目录: 1.Windows下安装MySQL 2.Linux下安装MySQL 序章: MySQL是个小型的数据库,用来自己做小项目,做学习练习什么的再适合不过了,不过新手总会被一些莫名奇妙的问题难住 ...

  7. 在Windows上安装MySQL(转整)

    MySQL安装 在Windows上安装MySQL.首先登录MySQL的官网下载安装包. 选择MySQL installer 这里选择第二个安装包下载即可. 下载完成之后就选择安装那个下载到的文件,基本 ...

  8. python相关软件安装流程图解——MySQL 8.0.13安装教程(windows 64位)——MYSQL依赖的软件——MYSQL必须的系统DLL插件——MYSQL真正的安装

    https://www.mysql.com/https://www.mysql.com/downloads/https://dev.mysql.com/downloads/windows/https: ...

  9. Windows Server 2008 R2文件服务器升级到Windows Server 2016

    Windows Server 2008 R2文件服务器升级到Windows Server 2016 用户单位有2台Windows Server 2008 R2的文件服务器,已经加入到域.域服务器另有两 ...

随机推荐

  1. 调试Xamarin.Android时出现缺少"Mono.Posix 2.0.0"的错误

    1.在http://originaldll.com/file/mono.posix.dll/31191.html中下载mono.posix 2.0.0 dll 2.以管理员权限运行Visual Stu ...

  2. Python 第三天学习整理2

    一.常用的字符串方法 capitalize() #将字符串首字母大写 center(100,'*') #把字符串居中的 count(‘zhou’)#查询次数 endswith('.jpg ')#判断字 ...

  3. 记录下通过Java代码打开cmd启动appium server及在使用过程中碰到的问题

    1.appium server启动后,执行测试脚本,appium日志报错,提示appium setting未安装(原因是小米手机在用appium desktop调试时总是提示是否安装appium se ...

  4. 如何给 List 集合排序

    一,List<Integer>的排序示例代码:List<Integer> list = new ArrayList<Integer>();list.add(6);l ...

  5. Python学习总结笔记

    # windows python -m http.server [<portNo>] # linux python -m SimpleHTTPServer [<portNo>] ...

  6. 初学Linux基本的命令操作应当记牢

    Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...

  7. Springboot 拦截器配置(登录拦截)

    Springboot 拦截器配置(登录拦截) 注意这里环境为springboot为2.1版本 1.编写拦截器实现类,实现接口   HandlerInterceptor, 重写里面需要的三个比较常用的方 ...

  8. [Repost] 探寻C++最快的读取文件的方案

    作者:BYVoid(https://www.byvoid.com/zhs/blog/fast-readfile) 版权协议:CC BY-NC-SA 3.0 Unported 在竞赛中,遇到大数据时,往 ...

  9. (转)使用OpenGL显示图像(七)Android OpenGLES2.0——纹理贴图之显示图片

    转:http://blog.csdn.net/junzia/article/details/52842816 前面几篇博客,我们将了Android中利用OpenGL ES 2.0绘制各种形体,并在上一 ...

  10. 编译安装Python3.4, pip安装, pypi是pip的源,修改为国内的pypi源

    Linux 下编译安装 Python 3.4 更新于 2014-09-24 02:01:05 UEANER 系统环境: CentOS 6.5 x86_64 / Fedora 20 x86_64 安装相 ...