背景:自己电脑安装的mysql8,公司电脑安装的mysql5.7,把公司电脑上的代码拷到本地运行时,由于mysql版本不一致,项目无法启动;自己又有些强迫症,工具总是期待用最新的;好的,至此,矛盾产生了!
解决方案:查找资料,看同一台机器是否能安装多个版本的工具。ok,找到了,记录下自己的操作。
中间遇到的问题:我本来安装的是mysql8,再安装5.7,会切换不了版本,导致出错。所以,我把mysql8里的数据库导出来为sql脚本,卸载mysql8,先安装5.7,再安装8。
提醒:本次安装是一次成功的,其中会出现的异常并没有遇到,所以没有解决方案。
mysql下载地址:https://downloads.mysql.com/archives/community/
mysql5.7安装
1,解压zip,配置环境变量
2,在安装目录下增加my.ini,增加以下内容
[mysqld]
basedir = (mysql5.7的安装目录)
datadir = (mysql5.7的安装目录)\data
port = 端口(一般默认是3306,不过配置不同的版本需要指定不同的端口,不能共用一个)
server_id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2,管理员运行cmd,到mysql5.7 bin目录下
3,执行以下命令:
3.1,实例化
mysqld --initialize --console(要保留一下最后的登录密码:root@loaclhost:xxxxxxx)
3.2,安装
mysqld install MySQL57(这是我的系统服务名,可以自取)
3.3,启动服务(要出现服务启动成功)
net start MySQL57
3.4,登录mysql,修改密码
mysql -u root -p
输入之前保留的密码
3.5,执行 set password = password('你的密码');
3.6,使用工具连接库
mysql 8 安装
1,还是解压,增加my.ini文件,增加以下内容
[mysqld]
basedir = (mysql8的安装目录)
datadir = (mysql8的安装目录)\data
port = 端口(一般默认是3306,不能和之前5.7的一致)
server_id = 2
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2,管理员运行cmd,到mysql8 bin目录下(从此之下,都要指定my.ini的文件路径)
mysqld --defaults-file=(mysql 8 路径)\my.ini --initialize --console
(同样要记录密码)
mysqld install MySQL8 --defaults-file="(mysql 8 路径)\my.ini" (mysql8 是我的系统服务名,自取)
好了,先别启动,需要修改一下注册表。
win+r 输入regedit 找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL8(这是我的)
修改ImagePath值 (不过貌似就是这个值。。。)
(mysql 8 路径)\bin\mysqld --defaults-file=(mysql 8 路径)\my.ini MySQL8
net start MySQL8
好了,至此结束。