环境:
系统:红帽5.5
旧版mysql:5.5
新版mysql:5.7.20

前期准备:
1、备份旧版mysql数据,不知道data目录在哪可以在my.ini配置文件里面查看datadir指定的目录路径。然后将data整个目录copy出来到另外的文件夹下。这个步骤是防止数据丢失。我的升级方法没有用到这个data,但是备份这个之后,如果新版的出现错误,可以安装旧版的利用这个文件重新导出数据。
2、打开Navicat for MySQL软件,连接上旧版的mysql,所有的库都要用下面的步骤导出sql文件。图解步骤如下:
(1)鼠标双击数据库,鼠标单击相应的数据库,右键,选择“数据传输...”选项,会跳出下面的数据传输窗口,选择“文件”,点击“...”,填上备份的sql文件名。然后提示是否继续传输的信息,点击“确定”。





3、卸载原来的mysql。具体步骤百度。
我的卸载步骤:
用CMD进入旧版mysql安装目录。执行:
net stop mysql
mysqld -remove
开始->运行-> regedit 看看注册表里这几个地方删除没有 
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除 
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除(我卸载的时候没有找到,略过后仍达到完全卸载的目的。) 

网上有一种说法,说下面这个文件一定要删除,但是我没有做这步也能成功,具体原因不知道。
C:\Documents and Settings\All Users\Application Data\MySQL 
这里还有MySQL的文件,必须要删除 
注意:Application Data这个文件夹是隐藏的,需要打开个文件夹选择菜单栏 工具→文件夹选项→查看→隐藏文件和文件夹 一项选上 显示所有文件和文件夹 确定 

4、如果是在本地windows下面进行上面的操作,还要将sql文件上传到远程的Windows服务器上面。具体操作参考百度经验https://jingyan.baidu.com/album/636f38bb7298f6d6b84610af.html?picindex=3
上传完成记得把配置设置回去。

5、设置环境变量,步骤:计算机--右键“属性”---“高级”---“环境变量”。
找到“Path”,将旧版MySQL的bin目录路径改成新版的bin目录路径。

然后重启机器!
如果是服务器,务必要确定重启之后有哪些服务需要启动的再决定要不要重启。


开始安装mysql5.7:
1、可以直接跳到第2步开始操作,重要的事情再说一遍:可以直接跳到第2步开始操作有需要再回来第一步。先执行1.1步骤,如果1.1不成功可以执行1.2,成功就不要执行1.2 
1.1、先在微软官网上下载Visual C++ Redistributable Packages for Visual Studio 2013(https://www.microsoft.com/zh-cn/download/details.aspx?id=40784),选择对应版本的程序下载,然后安装该文件 
1.2、先下载DirectX_Repair_3.5_Enhanced,然后在需要安装的服务器上执行该文件(注:不了解mysql依赖环境的可以这样做) 
2、将压缩包解压到D盘下,并改名为mysql-5.7.20
3、进入D:\mysql-5.7.20目录,新建一个data文件夹,然后在新建一个my.ini文件 
4、编辑my.ini文件,内容如下,具体解析百度查看,黑色字体的为重要配置。
[client]
port=3306

[mysql]
default-character-set=utf8

[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
max_allowed_packet = 16M
basedir="D:/mysql-5.7.20/"
#Path to the database root
datadir="D:/mysql-5.7.20/Data/"
character-set-server=utf8
default-storage-engine=INNODB
max_connections=200
# slowdown instead of a performance improvement.
query_cache_size=0
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=54M
innodb_thread_concurrency=8
innodb_file_per_table=1
skip_name_resolve

 
5、用管理员运行cmd,执行如下命令
cd D:\mysql-5.7.20\bin
注意:有些远程桌面想要进入E或者F盘的不需要输入cd,直接在cmd窗口输入E:或者F:即可进入相应的盘了。
mysqld --initialize --user=mysql --console --初始化数据库
如果提示这个下面错误则需要安装1.1步骤的插件:
the program can't start because MSVCR120.dll id missing from your computer .try reinstalling thr program to fix this prblem2

6、初始化后会输出root的密码,要注意;
在倒数第二行,内容如下
2017-08-31T01:42:21.783422Z
1 [Note]
A
temporary
password
is
generated
for
root@localhost:
lvqriJt9lt>O
注意:一般上面的密码都是登录不了的。

7、在cmd下继续执行如下命令
mysqld -install mysql 
--安装mysql
net start mysql
       --启动mysql
mysql -uroot –p        --输入上面的密码

可能遇到的问题1:安装成功之后,启动mysql成功,总是无法登录mysql。
原因:可能是服务器不允许root远程登录或者密码错误。
解决:
cd D:\mysql-5.7.20\bin
mysqld -nt --skip-grant-tables --跳过授权表进入mysql
打开另外的cmd窗口
cd D:\mysql-5.7.20\bin
直接执行mysql命令,进入mysql修改密码:注意:host和anthentication之间的逗号一定要写。
#mysql --直接回车进入mysql
Mysql>
Update mysql.user set host="%",authentication_string=password('root') where user='root';
Mysql>
flush privileges;
Mysql>
exit

 出来之后,Ctrl+Alt+delete 找到mysqld.exe进程,结束该进程,然后去cmd窗口用mysql –u root –proot 登录即可。

可能出现的问题2:error 1820(HY000):you must reset your password using ALTER USER statement befire executing
this statement
原因:密码过于简单,5.7之后对密码的要求更高。至少8位。例如可设置为:123456!@
解决:必须用 ALTER USER 命令来修改密码。或者set。
如下:set password=password("123456A!&");
flush privileges;

可能出现的问题3:在cmd窗口登录用命令mysql -uroot -p123456!@
这种方式登录mysql的时候提示
error 1045(28000):access denied for user 'root'@'::1' (using password :YES)
解决:mysql -uroot -p 回车后在输入密码,即密码需要交叉式输入,不能直接输入到屏幕。


然后登录mysql,利用create创建相应的数据库,用use进入创建好数据库,利用source导入数据即可。
命令:mysql> source 前面备份好的sql文件的路径。例如:D:/mysql-5.7.20/dg.sql

导入数据之后,用Navicat MySQL登录该mysql查看表格那些是否正常打开。
如果正常则算成功了。

如果不懂欢迎咨询qq:1016401546


win2008升级mysql5.7.20步骤总结的更多相关文章

  1. centos6.8 Mysql5.6.22 升级 mysql-5.7.20

    一.检查系统环境 二.备份数据库 mysqldump –all-databases > allbackupfile.sql (建议:有条件的话可使用图形化界面备份,操作灵活) 三.下载安装文件 ...

  2. centos6.8 Mysql-5.7.20 升级 mysql-8.0.14-1

    Mysql-5.7.20 升级 mysql-8.0.14-1   操作前建议先查阅以下网页初步了解Mysql版本升级信息  https://blog.csdn.net/u012946310/artic ...

  3. CentOS 7 下使用yum安装MySQL5.7.20 最简单图文详解

    CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的  yum安装是最简单 ...

  4. centos7 安装mysql5.7.20(yum方式)

    windows下安装mysql请访问:windows下mysql5.7.20安装(zip包方式) 一.安装过程 1.安装wget yum install wget 2.查找yum源名称 在mysql官 ...

  5. MySQL5.7.20报错Access denied for user 'root'@'localhost' (using password: NO)

    在centos6.8上源码安装了MySQL5.7.20,进入mysql的时候报错如下: 解决办法如下: 在mysql的配置文件内加入: vim  /etc/my.cnf skip-grant-tabl ...

  6. CentOS 7 下使用yum安装MySQL5.7.20

    CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的  yum安装是最简单 ...

  7. CentOS 7.4下使用yum安装MySQL5.7.20 最简单的

    CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的  yum安装是最简单 ...

  8. CentOS 7.4下使用yum安装MySQL5.7.20 最简单的 (引用)

    引用 https://blog.csdn.net/z13615480737/article/details/78906598 CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ...

  9. mysql-5.5.20预编译安装

    1.MYSQL数据库概念 1)MYSQL是一款关系型数据库系统,数据之间有互相联系,互相的关联和调用的. 2)MYSQL数据用于存储:WEB网站用户名和密码等 3)MYSQL存储数据库是通过二维表格形 ...

随机推荐

  1. Python字符串的所有操作

    name = 'my name is jack' print(name.capitalize()) #首字母大写 print(name.count('a')) #字符出现次数 print(name.c ...

  2. 安全学习笔记-web安全之XSS攻击

    web安全之XSS攻击 XSS 即跨站脚本攻击,是 OWASP TOP10 之一.它的全称为 Cross-site scripting,因为 CSS 这个简称已经被占用表示为前端三剑客之一的CSS,所 ...

  3. .NET6: 开发基于WPF的摩登三维工业软件 (10) - 机器人

    基于前文介绍的Ribbon界面.插件化.MVVM模式等内容,我们搭建了一个软件雏形.本文将综合之前的内容在RapidCAX框架中集成Robot组件,实现一个简单的机器人正向模拟模块. 1 目标 基于M ...

  4. 单链表上的一系列操作(基于c语言)

    单链表的实现分为两种单链表(其实差别并不是很大):带头结点和不带头结点,分别对应下面图中的上下两种. 链表的每一个结点是由两个域组成:数据域和指针域,分别存放所含数据和下一个结点的地址(这都是很明白的 ...

  5. Tomcat高级配置(应用场景总结及示例)

    前言 本文将解决以下问题: 如何将Linux下任意位置的项目(虚拟目录)部署到tomcat? 如何将项目部署到服务器特定端口? 如何在一个服务器上部署多个web应用? 本例中 系统:Linux ver ...

  6. Linux三剑客命令使用(持续更新)

    (本文档内容部分来源于网络) awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' f ...

  7. Java的浅克隆和深克隆

    如何实现对象的克隆 (1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法: (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真 ...

  8. JAVA视频笔记(一)

    搭建pho开发环境与框架图 韩顺平 第一章: No1  关于文件以及文件夹的管理 将生成的文本文档做成详细信息的形式,显示文件修改时间以及文件大小,便于文件查看和管理,也是对于一名IT人士高效能工作的 ...

  9. 羽夏看Win系统内核——调试篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  10. espnet中的transformer和LSTM语言模型对比实验

    摘要:本文以aishell为例,通过对比实验为大家介绍transformer和LSTM语言模型. 本文分享自华为云社区<espnet中的transformer和LSTM语言模型对比---以ais ...