https://blog.csdn.net/weixin_42385932/article/details/104589496
当开发不同系统时会遇到所需的数据库版本不同问题。但你不能每次开发都卸载重装Mysql。这时需要Mysql多版本共存
本文章是参考 Win10安装两个不同版本MySQL数据库(一个5.7,一个8.0.17)的,该文作为学习反馈记录
我安装分别是5.5.56和 8.0 两个版本
暂停服务
如果已存在一个数据库,先暂停服务。 方法:Win+R回车,输入services.msc进入服务,暂停Mysql服务
下载解压
官网下载所需版本,如果不会找,点击下载,然后解压到你想放的位置,不一定放在C盘
(路径中尽量不要带空格或中文,建议与旧版本放同一个目录)
配置环境变量
此步骤非必要。
配置环境变量能方便查看数据库版本,不需要频繁打开cmd到指定目录,也方便后面的安装。如果两个数据库路径都写了,只会到配置环境变量的最下面那个
配置文件my.ini
在mysql目录下新建一个配置文件my.ini:
此部最关键的是端口号不能与另外一个数据库相同
[mysqld]
# 这里设置3307端口
port=3307
# 设置mysql的安装目录,这里填写你数据库的路径
basedir=D:DBmysql-8.0.17-winx64
# 设置mysql数据库的数据的存放目录,这里填写你数据库的存放目录
datadir=D:DBmysql-8.0.17-winx64data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8
安装及初始化mysql服务
需要以管理员身份开启cmd,否则安装不了
1、右键任务栏的开始,点击Windows PowerShell(管理员)
2、安装mysql服务——这里服务命名为mysql8,以便区分,图是盗的,给你参考
C:mysql-8-winx64bin>mysqld install mysql2 --default-file="C:mysql-8-winx64my.ini"
如果没有配置环境变量,需要cd到数据库文件夹中
3、mysql初始化
mysqld --initialize --console
执行完成以后,输出内容中会有mysql初始默认密码,复制保存,后面会用到
4. 打开注册表(Win+R 输入 regedit ),找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmysql2,修改ImagePath参数,更正mysql2服务相关路径。
修改ImagePath参数:
D:mysql-8binmysqld mysql8
5、启动mysql服务
net start mysql8
修改配置
6. 修改密码——在数据库文件根目录执行cmd
如果忘记密码 ,看这篇博客文章MySQl 忘记密码怎么办?
运行 ‘mysql -u root -p’ 进入数据库
mysql -u root -p
密码填写初始化时出现的密码
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
基本就大功告成。如果需要给root授权通过ip访问,可查看下面的博客文章,以上的内容大部分来自该文章。我是作为学习笔记而记下的
Win10安装两个不同版本MySQL数据库(一个5.7,一个8.0.17)
后续
数据库mysql服务没有启动起来,一直在启动一直不成功。
当我把尝试启动的mysql服务进程关闭以后,手动启动mysql net start mysql的时候报了下面的错误:
error: Found option without preceding group in config file: D:mysql-5.6.24-win32my.ini at line: 1
Fatal error in defaults handling. Program aborted
然后慌了,因为卸载也卸载不了,纠结要不要重新装,不过里面还有好多数据啊==
二、解决方法
后来查找资料找到了原因,因为mysql里面的配置文件my.ini文件格式是utf-8。
只要把my.ini文件格式改为ANSI就可以了。
然后net start mysql,完美运行。