当前位置: 首页 > news >正文

MySql服务多版本之间的切换

从网上总结的经验,然后根据自己所遇到的问题合并记录一下,方便日后再次需要用到

MySql服务多版本同时运行

步骤

1、如果你电脑上已经有一个mysql版本,例如mysql-5.7.39-winx64,它占据了3306端口。此时如果你想下仔另一版本,附上下载地址,想下哪个版本版本自己下,下载好后,咱们把他们都解压到某同一个目录下,例如:
D:\MySql\mysql-5.7.39-winx64

D:\Mysql\mysql-8.0.31-winx64

2、解压后的mysql-8.0.31-winx64下面没有my.ini文件和data文件夹,这个需要我们自己创建,如下:

执行如下命令创建data文件夹,这个最好用命令创建哈

mysqld --initialize

执行完上述命令后,会生成data文件夹,里面有诸多文件,我们目前只需要在乎里面一个.err文件,里面存放着mysql的初始密码,例如:
在这里插入图片描述
之后我们需要靠这个密码进行这个版本数据库的第一次登录,所以需要提前将他复制哈。

手动创建一个my.ini文件,在里面输入如下内容:

[mysqld]
# 设置3307端口(原先的mysql5已经占用3306)
port=3307
# 设置mysql的安装目录(你自己的目录)
basedir=D:\MySql\mysql-8.0.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySql\mysql-8.0.31-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

3、接下来,我们打开电脑服务,看下是不是有mysql服务启动着,如果有就关了

4、管理员方式打开命令行,切换到刚才下载的mysql版本的bin目录下,执行如下命令:

mysqld install mysql8

第三个单词mysql8可以自己命名,到时启动这个版本的mysql会用到,查看电脑服务的时候也会用到

5、然后我们进行环境变量的配置,复制bin目录的地址,新增到系统变量path中,这一步是为了到时能够直接在命令行中启动mysql服务,而不需要在次切换到bin目录下进行启动。

6、接下来我们打开注册表,路径为:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8,点击ImagePath进行修改,内容为D:\MySql\mysql-8.0.31-winx64\bin\mysqld MySQL
在这里插入图片描述
7、到这一步,安装的两个版本的mysql此时可以同时启动了,不过我们还得给刚才安装的mysql设置重置密码哈

输入mysql -u root -p -P3307,然后回车,这样可以避免出现[Warning] Using a password on the command line interface can be insecure.这样的警告,接下来我们再输入之前从.err文件中复制的密码,回车,即可登录成功

注意,一定要记得指定端口例如-P3307,不然到时启动的就是默认情况下的mysql版本

8、修改新安装版本的mysql密码
依次执行如下命令

# 修改加密规则 
ALTER USER'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 
# 更新一下用户的密码 
ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 
# 刷新权限
FLUSH PRIVILEGES; 
# 重置密码
alter user'root'@'localhost' identified by '你要设置的密码';

然后我们就完成了哈

我们补充几点哈:
1、假如你电脑原本默认的mysql版本是mysql5.7.21的,启动时就是net start mysql命令即可启动了,关闭服务就是net stop mysql命令即可;如果你要启动刚才安装的mysql8.0.31,那么启动时就要输入当前版本的名字,像这样net start mysql8,mysql8之前在安装的时候就命名好了

2、登录mysql时,电脑原本版本的可以mysql -u用户名 -p密码直接登录,而mysql8.031则需要再输入端口号才行mysql -u用户名 -P所用端口号 -p密码

http://www.lryc.cn/news/1945.html

相关文章:

  • 嵌入式开发:通过嵌入式虚
  • 广州穗雅医院杨济安:了解症状表现 有效防治口腔黏膜下纤维化
  • [数据分析] 数据指标体系搭建
  • Dubbo 源码分析 – 集群容错之 Cluster
  • Spring学习20230208-09
  • tomcat10部署报错WebStatFilter cannot be cast to jakarta.servlet.Filter
  • Linux修改文件时间或创建新文件:touch
  • 原生微信小程序按需引入vant
  • 高性能IO模型:为什么单线程Redis能那么快?
  • 【数据集】中国各类水文专业常用数据集合集
  • 落枕、肩颈酸痛,用磁疗就可缓解!
  • 一文教会你如何选择远程桌面(五大主流远程软件全面讲解)
  • 【yolov5】yolov5训练自己的数据集全流程----包含本人设计的快速数据处理脚本
  • leaflet 加载CSV数据,显示图形(代码示例046)
  • 百趣代谢组学资讯:槟榔的基因组为雌雄同株植物的性别决定提供见解
  • SSO单点登录 - 多系统,单一位置登录,实现多系统同时登录 学习笔记
  • 图解LeetCode——剑指 Offer 32 - III. 从上到下打印二叉树 III
  • 【快排与归并排序算法】
  • 面试官问我:说说你对JMM内存模型的理解?为什么需要JMM?
  • 工程管理系统源码之提高工程项目管理软件的效率
  • SpringBoot集成xxl-job实现
  • 欧几里得度量和余弦度量的可取消生物识别方案
  • 平板作为主机扩展屏的实现
  • HTTP和HTTPS有什么区别?如何实现网站的HTTPS?
  • Rockstar Games遭黑客攻击,《侠盗猎车手6》90个开发视频外泄
  • RabbitMQ-客户端源码之AMQPImpl+Method
  • 雅思经验(7)
  • Ubuntu20.04 用 `hwclock` 或 `timedatectl` 设置RTC硬件时钟为本地时区
  • 大学物理·第15章【量子物理】
  • 2010-2019年290个地级市经济发展与城市绿化数据