windows上同时安装两个版本的mysql数据库

2023-10-31

在实际开发中,一些低版本数据库,不支持一些特殊的sql语句,因此高版本数据库数据导入低版本的时候就会出问题,因此,在一些特殊情况下,低版本数据库不能动,高版本mysql数据又无法导入低版本mysql,我们不得不在同一台机器上安装两个版本mysql.

低版本mysql不支持的sql语句举例,比如下面的这个:

CREATE TABLE `storage` (
  `storageid` INT(11) NOT NULL AUTO_INCREMENT,
  
  `createTime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  
  `updateTime` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  
  PRIMARY KEY (`storageid`)
) ENGINE=INNODB AUTO_INCREMENT=292 DEFAULT CHARSET=utf8 COMMENT='仓库'

在5.1版本的mysql上执行上面语句会报错

5.1版本会报错

而在5.7版本的mysql就支持双时间戳timestamp.可以正常执行上述sql语句

mysql5.7版本可正常执行上述语句

 

正文正式开始:

一 先停止之前安装的低版本mysql服务:

二 将我其他电脑上安装好的mysql5.7拷贝过来(我在其他电脑上安装过mysql-5.7.22-winx64.zip版本)

三 拷贝过来之后,进入该文件夹,删除掉data目录,然后打开my.ini,进行修改端口号,端口号改为3307,basedir和datadir也要重新配一下

 

修改内容如图:

配置文件内容想要的可以拿去:------>

[mysqld]
port = 3307
basedir=C:\mysql-5.7.22-winx64
datadir=C:\mysql-5.7.22-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

 

四 开始执行安装和添加服务的步骤:

4.1 以管理员身份去运行命令行窗口

4.2 进入mysql5.7的bin目录下

4.3 安装mysql服务,指定该mysql服务名为mysql2,并根据my.ini文件进行安装,命令如下:

C:\mysql-5.7.22-winx64\bin>mysqld install mysql2 --default-file="C:\mysql-5.7.22-winx64\my.ini"

成功安装后会提示:
Service successfully installed.

去服务里面,可查看到此时多了一个mysql2服务

五 初始化数据库

mysql服务安装成功后,就需要初始化数据库了,否则是无法启动服务的。

在bin目录下执行如下命令

C:\mysql-5.7.22-winx64\bin>mysqld --initialize

初始化成功后,命令行没有任何提示。但在mysql5.7文件夹中已自动生成了data目录

六 打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql2,修改ImagePath参数,更正mysql2服务相关路径。

修改ImagePath参数:

七 启动数据库,修改密码

使用net start mysql2 命令启动mysql2服务

C:\mysql-5.7.22-winx64\bin>net start mysql2
mysql2 服务正在启动 .
mysql2 服务已经启动成功。

(若mysql2 启动失败,请检查自己是否已经停止了之前的mysql服务,见第一步)

mysql2服务启动后,去data/xxx.err文件中找到临时密码,进行登录

 

使用临时密码进行登录(注意:P 端口,p 密码

C:\mysql-5.7.22-winx64\bin>mysql -P3307 -uroot -p
Enter password: ************    (此处输入的是临时密码)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

修改密码

mysql> set password for root@localhost=password('001nX123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

使用 quit 退出,使用新密码登录。

mysql> quit
Bye


C:\mysql-5.7.22-winx64\bin>mysql -P3307 -uroot -p
Enter password: *************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22 MySQL Community Server (GPL)


结束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows上同时安装两个版本的mysql数据库 的相关文章

随机推荐

  • ChatGPT不到1分钟生成全部代码,你就说慌不慌吧?

    生成过程视频 如何使用ChatGPT快速生成代码 qq com 如何使用ChatGPT快速生成SpringBoot集成Dubbo的完整案例 1 Dubbo最新版本有哪些新特性 Dubbo最新版本是2 7 9 于2021年6月发布 以下是该版
  • cv2.VideoCapture()从网络摄像头取RTSP流失败的解决办法

    树莓派从网络摄像头取流 需求 问题与现象 分析 总结 需求 将大华的网络摄像头连接到树莓派网口 取出视频进行处理 问题与现象 连接硬件 将树莓派有线网卡的ip固定设置于摄像头的同一网段 将大华给的URL填到VLC里打开 可以播放视频 将大华
  • 【电源之美】DCDC三种工作模式:CCM、DCM、BCM

    DCDC的三种工作模式 CCM连续导通模式 DCM断续导通模式 BCM临界导通模式 CCM Continuous Conduction Mode 连续导通模式 在一个开关周期内 电感电流从不会到0 或者说电感从不 复位
  • 学习 Rust cookbook 之算法篇(algorithm)

    原文作者 suhanyujie 永久链接 https github com suhanyujie rust cookbook note 博客链接 https ishenghuo cnblogs com 学习 Rust cookbook 之算
  • synchronized底层原理

    一探究竟 反编译 三种使用场景 示例代码 public class SynchronizePrincipe public synchronized static void fun1 public synchronized void fun2
  • 【解决IDEA控制台中文乱码,亲测有效,分析全面】

    首先判断IDEA控制台乱码来源 自我总结 IDEA控制台输出日志乱码一般会有三种来源 1 IDEA本身编码错误 2 Tomcat日志输出编码错误 3 项目本身原因 终极原因是 将IDEA编码和Tomcat编码不一致 统一设置为UTF 8即可
  • 约瑟夫环问题『js实现』

    传说罗马人占领了乔塔帕特 41 个犹太人被围堵在一个山洞里 他们拒绝被俘虏 而决定集体自杀 大家决定了一个自杀方案 41 个人围成一个圈 由第 1 个人开始顺时针报数 每报数为 3 的人立刻自杀 然后再由下一个人重新从 1 开始报数 依旧是
  • react 图片剪切(react-easy-crop)

    antd 官方提供的剪切组件 仅支持本地图片的剪切和上传 import Upload from antd import ImgCrop from antd img crop import type RcFile UploadFile Upl
  • Angular中父子组件传值@Input @Output @ViewChild最全面最简单的总结

    父组件传递给子组件 值传递方式 Input既可以传递数据也可以传递方法 传递数据 不举例了 传递方法 父组件定义方法 parentRun alert 这是父组件的 run 方法 调用子组件时传入当前方法 是传递方法不是调用方法
  • Element UI el-input 只能输入大于0的正整数

    当输入值以0开头或者不为0 9的整数时 则用 替换掉 g表示全局匹配 则所有匹配项都会被替换掉 效果为不能输入以0开头或不为正整数的值
  • Oracle 基本 SQL 语句查询手册(1):增删改查

    关于SQL语法学习 这里有一份图文并茂的教程 点击此处 针对文字内容进行简化 通过注释 解释语句含义 本文的重点在于Oralce中写法 当然了 大部分写法都是通用的 查询手册 没有配图 各位看官见谅 创建临时表 用于测试 练习基本语句的写法
  • 什么是护网(HVV)?需要什么技术?(内附护网超全资料包)

    一 什么是护网行动 护网行动是以公安部牵头的 用以评估企事业单位的网络安全的活动 具体实践中 公安部会组织攻防两方 进攻方会在一个月内对防守方发动网络攻击 检测出防守方 企事业单位 存在的安全漏洞 通过与进攻方的对抗 企事业单位网络 系统以
  • ping 命令数字波动大的解决方法

    win10ping值不稳定怎么办 我们可以通过ping来判断网络是否流畅 一般来说在ping界面 只要 时间 后面的数值在10以内那么网速就是稳定的 最近在win10系统中有用户反应网速慢的心想 在使用ping进行ping一些网站的时候果然
  • easyUI前端框架tree(树)后台实现(树形菜单一)——java

    转载请标明出处 https blog csdn net men ma article details 106847165 本文出自 不怕报错 就怕不报错的小猿猿 的博客 easyUI前端框架tree 树 后台实现 树形菜单一 java 利用
  • 引领语言智能革命的巨型语言模型 ChatGPT PK Google Bard , Anthropic

    ChatGPT是由OpenAI公司训练的一个大型语言模型 它可以生成人类可读的文本 这是一个基于Transformer架构的预训练模型 可以进行语言生成和语言理解任务 OpenAI公司在2020年推出了ChatGPT 它是世界上最大的语言模
  • 多级代理下Nginx透传真实IP

    文章目录 多级代理下Nginx透传真实IP Nginx RealIP获取真实IP 多级代理下Nginx透传真实IP 1 基于代理 七层负载均衡 情况下 透传客户端的真实IP 环境 10 0 0 5 proxy node1 一级代理10 0
  • ERROR: Failed building wheel for dlib python 3.10 无法下载 pip/conda install dlib库的解决办法

    如果您在Python 3 10版本中无法使用pip安装dlib库 可能是由于以下原因之一 您的Python版本不支持dlib库 请确保您的Python版本与dlib库的版本兼容 您的pip版本不支持dlib库 请确保您的pip版本与dlib
  • plc模拟量与通信控制应用实践_第三版电气控制与PLC应用模块三教材答案

    很高兴这期为你分享干货 让你在困难中找到解决的线索 模块三答案 任务一 思考与练习 1 PLC 主要应用在哪些场合 答 1 开关量逻辑控制 2 模拟量过程控制 3 运动控制 4 现场数据采集处理 5 通讯联网 多级控制 2 PLC 的基本结
  • 文件打包发布

    本文基于VS Qt和VTK环境开发软件 生成可执行文件 通过软件ProcessExplorer查找发布软件所需要的库和通过软件VNISEdit打包该可执行文件 1 添加QT所需要的环境 2 添加VTK所需要的环境 3 文件打包发布 1 添加
  • windows上同时安装两个版本的mysql数据库

    在实际开发中 一些低版本数据库 不支持一些特殊的sql语句 因此高版本数据库数据导入低版本的时候就会出问题 因此 在一些特殊情况下 低版本数据库不能动 高版本mysql数据又无法导入低版本mysql 我们不得不在同一台机器上安装两个版本my