我们项目用的mySQL数据库,为了回家看代码方便,于是在本地安装mySQL数据库,一开始安装了比服务器mySQL5.7.24更高版本的mySQL8.0.11,结果项目启动报错,估计是版本太高项目中引入的mysql连接包不支持,但我又不想将mySQL8.0.11删掉,或许后续有用,于是只好再安装了一个mySQL5.7.22(因为刚好我电脑有这个版本的压缩包文件)。
安装第二个mySQL时的操作如下:
1、新建一个文件夹放mySQL5.7.22的解压缩文件(我的在d盘根目录)
2、在bin文件夹的同级目录下新建my.ini文件:
具体配置如下,mySQL的默认端口为3306,因为我的mySQL8用了这个端口,于是mySQL5的端口就用了3307,再就是设置下mySQL的安装目录,以及存放data的目录(安装mySQL8时需要配置这个,mySQL5不需要,后面说明)
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3307端口,避免与已安装的冲突
port = 3307
# 设置mysql的安装目录
basedir=D:mysql5mysql-5.7.22-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:mysql5data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3、修改环境变量%MYSQL_HOME%为mySQL5的bin文件夹所在的路径,我的为:D:mysql5mysql-5.7.22-winx64in(原来为mySQL8的,网上查询可能有影响,于是我修改了)
4、然后以管理员身份运行cmd,切换到D:mysql5mysql-5.7.22-winx64in路径后执行如下命令:mysqld install MySQL5 --defaults-file="D:mysql5mysql-5.7.22-winx64my.ini" (论说前面设置了环境变量,这里不用切换到D:mysql5mysql-5.7.22-winx64in路径也可以执行,大家可以试试,我的直接安装成功了所以没得试)注意:mySQL5和mySQL8的安装命令不同,一开始用的mySQL8的命令提示没有这个命令(mysqld-nt install MySQL5 --defaults-file="D:mysql5mysql-5.7.22-winx64my.ini" )
5、启动服务mySQL5,结果发现服务启动不了,提示:MySQL服务无法启动 服务没有报告任何错误 请键入NET HELPMSG 3534 以获得更多帮助,如下:
然后上网查询找到如下解决方式:安装好MySQL后,打开cmd命令窗口,并且进入到MySQL安装目录中的bin目录,然后输入如下命令回车即可:mysqld --initialize-insecure --user=mysql
执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空,之后就可以通过命令net start mysql启动mysql服务了。(亲测成功)所以跟mySQL8的安装不同,这里不用建data文件,而是自动生成。
到此成功安装了2个不同版本的mySQL数据库,到服务面板将两个服务同时起来就可以自由使用了两个库了。