MySQL 5.7.30 安装与升级问题详细教程

楔子

由于之前电脑上安装的MySQL版本是比较老的了,大概是5.1的版本,不支持JSON字段功能。而最新开发部门开发的的编辑器产品,使用到了JSON字段的功能。 因此需要升级MySQL版本,升级的目标版本是MySQL 5.7.30(虽然最新版本已经到8.x,但是5.7基本够用了)。 发现在升级安装过程中,会有一些坑,所以使用本文记录一下。

卸载老版本

首先需要卸载老的版本,卸载其实也挺简单,只需要移除MySQL服务即可,首先打开CMD,然后cd到MySQL的bin目录,然后输入下面的命令移除MySQL服务:

mysqld --remove mysql
//需要注意的是: “msyql” 是服务名称,安装的时候如果没有指定服务名称,
//默认名称是MySQL(windows下不区分大小写);
// 如果安装的时候指定了名称,上面的名称需要修改为该指定的名称。

需要注意的一点是,我们删除了MySQL服务之后,有可能在windows的服务的列表里面还有,保留在哪儿也没啥影响,但是如果你又洁癖,一定要删除,就需要去删除注册表中对应键,参考下图。当然对于我们升级来说,后续还需要安装windows服务,可以直接覆盖。

注册表的图

然后删除老的MySQL相关文件夹,以及删除相关的环境变量的配置。

需要注意的是,如果数据文件和MySQL程序在一个文件夹下,需要保留数据

安装5.7.30版本

接下来就是安装5.7.30版本,第一步是下载。

下载MySQL

下载地址是:https://dev.mysql.com/downloads/mysql/
点击上面链接,进入到下载页面,由于最新的版本是8.x,所以默认是8.x的版本。可以通过点击“Looking for the latest GA
version ”选择版本,然后下载免安装版本:

解压MySQL

下载完成后,解压到你想要安装的目录,比如我的目录是:
D:\Program Files (x86)\mysql-5.7.30-winx64

配置环境变量

在系统变量path后面追加D:\Program Files (x86)\mysql-5.7.30-winx64\bin,如图所示。

创建配置文件my.ini

5.7.30版本的安装包默认是不带配置文件my.ini的。所以需要创建自己创建一个my.ini的文件。手动创建my.ini文件,然后输入如下内容:

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

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql安装目录
basedir=D:\Program Files (x86)\mysql-5.7.30-winx64
# 设置mysql数据库的数据存放目录
datadir=D:\Program Files (x86)\mysql-5.7.30-winx64\data
# 运行最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 参加新表时将使用的默认存储引擎
default-storage-engine=INNODB

此处会有一些坑,需要避免。

my.ini注意事项一

my.ini必须保存为ANSI格式(配置文件默认就是是ANSI编码格式,可能会不小心保存为其他格式,比如UTF-8),否正会出现后续的服务不能启动的情况。 如果你不确定my.ini是什么格式,可以另存为:

my.ini注意事项二

如果是从低版本升级到5.7的版本,可能为了保留之前的配置,就直接把之前的配置文件拷贝过来。这个时候就要注意了,因为以前很多低版本的参数,已经不适合高版本的。如果不修改过来,就会导致后续的服务启动失败。

比如笔者遇到的一个导致错误的参数是:

#table_cache=256 // 低版本的
table_open_cache=256 // 高版本的

如果一定要保留老版本的配置,又对于新版本的参数修改不是很熟悉,那么可以再配置文件中把日志功能假设,这样再报错的时候,可以通过查看日志了解详情。 如下配置日志路径即可:

log_error=D:/mysql-5.7/error.log

然后启动失败后,可以通过日志查看报错,比如:

更多可能的错误参数:

unknown variable 'key-buffer=256M' //去掉改项即可。

unknown variable 'table-cache=512'  //修改为table_open_cache即可。

unknown variable 'thread-concurrency=8' //去掉改项,5.7已结废弃。

windows 服务启动失败,不会把错误详情标识出来,只会简单说一句服务启动失败。 只能通过配置日志文件来查看。

安装MySQL服务

最重要的一步就是安装MySQL服务。 首先进入cmd界面,CD到MySQL的bin目录(注意此处一定要到bin目录下去执行),执行如下命令:

mysqld --install [服务名称,默认是MySQL]

截图如下:

执行命令后,会提示服务安装成功。

注意事项一

需要注意的是,有可能出现Install/Remove of the Service Denied! 的提示错误。
原因:普通用户模式权限下的cmd安装mysql会出现这样的报错提示。通过管理员模式运行cmd即可:

其他步骤如果出现没有执行权限的情况,也都请用管理员省份运行即可。

注意事项二

有些电脑会出现找不到MSVCP120.dll的错误:

这种错误是由于未安装 vcredist 引起的
下载 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
安装,位置默认即可,安装成功之后,重新安装服务即可。

初始化MySQL

MySQL5.7是不带data目录的,所以需要初始化MySQL,生产data目录,也比较简单,执行如下命令即可:

mysqld --initialize-insecure --user=mysql

需要注意的是,有的文章介绍的是此处用 “mysqld --initialize”, “mysqld --initialize-insecure”和 “mysqld --initialize”的区别在于前者会创建一个空密码,而后者会创建一个随机密码。 因此用 “mysqld --initialize”,最好加上 “–console”,可以把随机密码打印出来(注意 “–console”仅限于windows)

–user=msyql 主要用于在linux或者unix系统下给与把data目录授权给mysql账号,在windows 下可以不必使用,带上也无所谓。

数据初始化参考链接:https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/data-directory-initialization.html

初始化完成后,会生成data目录。

注意事项一

如果初始化出现错误:“–initialize specified but the data directory has files in it. Aborting. ” 那是因为你可能手动创建了data目录,并且里面包含了文件(比如升级可能这样操作),此时要做的就是删除data目录即可,至于升级,可以后续考虑。

此时说的data目录,是指 my.ini文件里面 指定的目录 ,未必是mysql安装文件下的目录:
datadir=D:\Develop\MySQL\mysql-8.0.12-winx64\data

启动MySQL服务

windows下启动MySQL服务,可以使用如下命令即可:

net start MySQL

设置MySQL服务密码

使用mysqladmin可以设置密码。启动MySQL服务之后,输入如下命令:

输入老的密码(通过前面操作,老密码为空),然后输入新的密码,确认新的密码,即可设置成功。

注意事项一

如果前面初始化的时候未初始化未空密码,又不小心忘记了初始化密码,会出现下面的问题,无法登陆及修改密码:
“Access denied for user ‘root'@‘localhost'”

通过如下步骤解决:

添加skip-grant-tables

再配置文件my.ini中添加skip-grant-tables:

重启MySQL服务

先停止MySQL服务,然后再启动MySQL服务,即可:

修改密码

首先登陆mysql,此时不需要密码,如下:

通过sql语句修改密码,首先 use mysql ;然后update 更新密码:

然后退出mysql即可。

删除skip-grant-tables 重启MySQL服务

首先从my.ini中删除skip-grant-tables ,然后 net stop mysql, net start mysql 重启服务。

MySQL老数据升级到5.7

要升级老数据,如果是从5.x版本升级上来,基本上只需要把相关的数据文件拷贝到data文件夹下。需要注意的是,如果使用了 innodb,还需要把“ibdata”等文件拷贝过来。 否正会报表不存在的情况:

error: 1146: Table 'a_content' doesn't exist

innodb是MYSQL数据库一种流行的数据库引擎,支持事务(行级),ibdata用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已,由于新版的mysql默认试innodb,所以ibdata1文件默认就存在了,少了这个文件有的数据表就会出错。

如果升级过程中,存在数据损坏,可以使用repair命令进行修复:

repair table tablename

正常经过上述操作,就可以了,如果还有问题,可以尝试使用升级命令mysql_upgrade对数据进行升级(也建议使用改命令升级,不然后续出问题,可能会不好定位)
https://dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html

//升级mysql,mysql_upgrade检查不兼容的表,更新grant表;
mysql_upgrade -uroot -p

升级速度具体看data目录的大小情况而定。

总结

到此这篇关于MySQL 5.7.30 安装与升级教程详解的文章就介绍到这了,更多相关mysql5.7.30 安装升级内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL5.7.23解压版安装教程图文详解

    每次找安装教程太麻烦,因此给自己备份一下步骤,方便以后查看.解压版下载地址 https://dev.mysql.com/downloads/mysql/,详细图解如下: 1.根据自己需求,选择适合自己的进行下载. 2.解压安装包到自己的喜欢的路径,我选择的路径是D:\Program Files\ 3.配置环境变量 我是windows10的系统,找到环境变量配置位置 添加环境系统变量 MYSQL_HOME D:\Program Files\mysql-5.7.23-winx64 编辑path变量,

  • Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目录下的data目录(数据库目录). MySql官网下载MySQL 5.7.17版本压缩包. 管理员身份运行命令行,输入net stop mysql命令,停止mysql服务. 输入sc delete mysql命令,删除mysql服务. 卸载当前版本MySQL. 开始升级 解压MySQL 5.7.17

  • 最新mysql 5.7.23安装配置图文教程

    2018年最新MySQL5.7详细安装与配置,总共分为四步,其中环境变量配置不是必须的. 1.安装包下载 2.安装过程 3.环境变量配置 4.连接测试 一.官网下载MYSQL安装包 1.前往官网下载,下载链接为:https://dev.mysql.com/downloads/installer/ 2.选择合适你电脑系统的版本进行安装.如果有网络,选择在线安装的版本,这里我选择第二个,点击DownLoad(注意:如果没有找到5.7的版本,点击右侧的链接查找),前往下载页面. 3.选择"No tha

  • mysql 5.7.24 安装配置图文教程

    本文为大家分享了mysql 5.7.24 安装配置教程,供大家参考,具体内容如下 1.运行环境:window10 2.下载对象:mysql-5.7.24-winx64.ZIP 3.下载mysql 登录mysql官网(https://www.mysql.com/)-->Downloads(最上面)-->community(Downloads下面)-->MySQL Community Server(最左边)--> 4.选择右下角 MySQL Community Server 5.7 »

  • MYSQL5.7.24安装没有data目录和my-default.ini及服务无法启动的完美解决办法

    mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 新版安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini,如下图所示 根据网上很多教程安装仍不成功,结果: 1.Can't change dir to 'D:\from20181022\soft\mysql-5.7.24\mysql-5.7.24-winx64\data'(Errcode : 2 - No such file or directory) 2.MySQL

  • mysql 5.7.18 zip版安装使用教程

    mysql 5.7.18 zip版本的MySQL不像那种点击就可以立即安装,一直下一步就OK的,这个需要自己进行配置,虽然有点小麻烦,我还是比较喜欢使用这个版本,因为比较单一,不会因为安装数据库,还要安装其他插件工具. 1.下载路径 官网MySQL zip文件下载地址 点击 download 按钮,根据提示进行下载,不用登录账号:(下载文件到,如:D:\\) 2.将下载到D:\\下的 mysql-5.7.18-winx64.zip解压缩 解压缩完成后,mysql的文件目录地址是:D:\\mysq

  • MySQL 5.7.30 安装与升级问题详细教程

    楔子 由于之前电脑上安装的MySQL版本是比较老的了,大概是5.1的版本,不支持JSON字段功能.而最新开发部门开发的的编辑器产品,使用到了JSON字段的功能. 因此需要升级MySQL版本,升级的目标版本是MySQL 5.7.30(虽然最新版本已经到8.x,但是5.7基本够用了). 发现在升级安装过程中,会有一些坑,所以使用本文记录一下. 卸载老版本 首先需要卸载老的版本,卸载其实也挺简单,只需要移除MySQL服务即可,首先打开CMD,然后cd到MySQL的bin目录,然后输入下面的命令移除My

  • mysql 5.7.14 安装配置方法图文详细教程

    mysql 5.7.14安装过程记录如下,希望对大家有帮助. 一.MySQL 5.7.14下载 下载链接:http://dev.mysql.com/downloads/installer/ 具体下载过程如下图片所示: 二.MySQL 5.7 安装 网上查看的比较好的安装说明: 文章一:http://www.jb51.net/article/84152.htm 文章二:http://www.jb51.net/article/90275.htm(文件夹形式配置) 三.MySQL 5.7 问题汇总 1

  • mysql 5.7.30安装配置方法图文教程

    之前把服务器里面的MySQL卸了重装,安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录,发现好多坑 截个图,作为笔记,也正好留给需要的朋友们. MySQL 5.7.3.0 安装 全程截图 经典的MySQL数据库就不需要过多介绍了. 本篇主要介绍MySQL的安装过程,步步截图,跟着弄就行. 1. 下载软件 在这里,我使用的是新版的MySQL 5.7.3.0,其实这些版本大都一样,可忽视. 需要软件的可自行Google,官网可免费下载,不过貌似需要注册账号登录了才能

  • 2022最新版MySQL 8.0.30 安装及配置教程(小白入门)

    目录 MySQL 8.0.30官网下载安装教程 第一步(官网下载安装) 第二步(执行安装) 第三步(配置环境变量) 第四步(检验安装) MySQL 8.0.30官网下载安装教程 此文面向于学习mysql数据库的小白,仅进行了详细的基本配置. 第一步(官网下载安装) 官网下载安装助手,这里使用的是推荐的Installer————————————————————1.选择相应的操作系统,点击Go to Download Page,跳转到下载界面2.点击下载 第二步(执行安装) 打开下载的install

  • Centos8最小化部署安装OpenStack Ussuri的详细教程

    Centos8最小化部署安装OpenStack Ussuri的教程如下所示: #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #1.控制节点内存4096M.双网卡,分别为eth0:10.0.0.11,eth1:10.0.0.12 #2.计算节点内存2048M.双网卡,分别为eth0:10.0.0.31,eth1:10.0.0.32 #设置阿里云yum源 curl -o /etc/yum.repos.d/Cen

  • 用pip给python安装matplotlib库的详细教程

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 1.首先在python里安装pip,打开安装python的文件夹,找到python\scripts查看是否有pip.exe,如果有说明python里已经安装了pip,直接进入下一步.如果没有pip.exe,则需要先安装pip,官网上有详细教程,此处不再介绍.链接https://pip.pypa.io/en/stable/installing/ 2.添加环境变量,右键我的电脑

  • JetBrains DataGrip安装和使用的详细教程

    目录 前言 JetBrains DataGrip介绍: 安装教程 更换语言 接下来给大家介绍一下DataGrip的基本使用步骤[连接数据库] 解决方法: 时区问题解决 使用DataGrip操作MySQL 前言 日常开发中少不了各种可视化数据库管理工具.如果需要同时能连接多种数据库,大家肯定都会想到 DBeaver.Navicat Premium.本文介绍另一个十分好用且强大的工具:DataGrip. DataGrip 是 JetBrains 公司推出的管理数据库的产品.对于 JetBrains

  • Navicat Premium 12.0.29安装与激活超详细教程

    目录 下载安装程序及激活工具 1.安装程序 2.激活程序 Navicat Premium 是一套多连接数据库开发工具,让你在单一应用程序中同时连接多达六种数据库:MySQL.MariaDB.SQL Server.SQLite.Oracle 和 PostgreSQL,可一次快速方便地访问所有数据库. 下载安装程序及激活工具 下载 链接: 注意:因某些限制,下载链接通过如下方式获取: 需要的小伙伴,请关注微信公众号: Java技术迷, 或者扫描下方公众号二维码,回复关键字:211216, 即可免费无

  • Windows系统下安装VirtualBox及安装Ubuntu16.04的详细教程

    1.软件介绍 VirtualBox VirtualBox 是一款免费的开源虚拟机软件,所谓虚拟机软件,就是能够提供各种模拟的硬件环境,并且在其上安装各种操作系统,目前支持Window,Linux,Mac OS X. 其下载地址可以点击这里.点击链接后,因为是要在window下安装,可以参考下面,直接点击红框部分的链接下载widnow版的VirtualBox 下载好了后,直接双击打开,类似下面的图文步骤直接不停点击下一步安装即可 Ubuntu Ubuntu,中文称呼"乌班图",是一个开源

  • Tomcat9安装windows服务的详细教程

    1.准备工作 1.1 下载有service.bat的tomcat压缩包,下载地址 https://tomcat.apache.org 1.2 解压缩到自定义的指定目录 1.3 进入到 bin 目录,找到service.bat文件,打开并编辑 2.设置tomcat服务名称 搜索"set SERVICE_NAME=",设置tomcat服务名称 set SERVICE_NAME=Tomcat9_8080 3.设置tomcat服务显示名称 搜索"DisplayName",修

随机推荐