【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码

我遇到一个超级棘手的难题,由于一个旧web项目需要用到c3p0的数据库操作库,由于本人jdk是1.7版本,mySQL是8.0版本,同时mySQL8.0支持5.x的驱动,在一般的MVC操作并无问题。但是c3p0却提示:
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第1张图片
经思考,为保证jar包一致,所有版本的都和旧项目相同,但是mySQL版本可能存在差别,本着用新不用旧的心态我用了8.0的mySQL,但是之前就发现,因为jdk是1.7,我没办法在8.0版本上用上8.0的mySQl驱动,只能用旧的5.x,问题不大,直至现在c3p0无法在8.0的数据库上用旧的驱动,一直提示变量找不到。原因是新版本MYSQL换了变量名字,但是按照上述操作依旧无解。只能更换数据库版本。

同一个关于版本问题的坑踩了两遍,为求高效我要总结目前学习阶段所需要使用的原则:
jdk1.7+mySQL5.7最后一个版本+Navicat

卸载MySQL8.0重装MySQL5.7
那么问题来了,怎么安装mySQL5.7最后一个版本?
官网花里胡哨的英文中挑出一个历史版本的链接:
https://downloads.mysql.com/archives/community/

5.7最后一个版本不像最新的8.0没有msi安装工具,只是一个压缩文件。
基本操作:https://www.jianshu.com/p/a41d45890ab2
值得注意的有,配置环境变量、data和Uploads目录以及手动添加my.ini文件。
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第2张图片

以下是根目录下my.ini文件配置信息:

[mysqld]
port=3306
character_set_server=utf8
basedir=//注意这里是zip解压后目录名 如E:\mysql5.7.23
datadir=//注意这里是zip解压后data文件夹地址 如E:\mysql5.7.23\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM

log-error   = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=//注意这里是zip解压后Uploads文件夹地址 E:\mysql5.7.23\Uploads

[client]   
default-character-set=utf8

cmd进入解压后的文件夹的bin目录,如D:\mysql-5.7.29-winx64\bin,分四步进行输入

mysqld --initialize-insecure //1.初始化数据库
mysqld –install //2.注册服务
net start MySQL57 //3.启动MySQL服务
mysql -u root -p //4.第一次成功安装后默认无密码登录

一定要注意,my.ini文件内容的路径是否准确,不然会报错:
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第3张图片
好巧不巧,第二步意外还是出现了,cmd提示:

server has exist

并没有出现success字样,回到本地服务查看,卸载MySQL8.0后确实残留一个MySQL服务。我明明利用官方的安装工具卸载的,怎么会有残留?是我忘记点选卸载服务了么?【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第4张图片
接下来就是删除MySQL这个服务的步骤:
1.定位这个服务的文件夹,删光文件
2.搜索regedit注册表编辑,删掉路径1:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL
目录下所有注册表。
3.以管理员身份运行(不然提示 SC OpenService 失败5:拒绝访问),进入cmd输入:
sc delete mysql
4.重启计算机,已经看不到这个MySQL服务了

好了回到上一级步骤,重新进行第二次的注册服务,已经没有问题,新的MySQL服务再次生成,这正是我想要的。
千万不要忘了3.启动MySQL服务,一定要在服务中开启新的MySQL服务,不然提示:
在这里插入图片描述
至此,成功进入数据库!
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第5张图片

select host,user,plugin,authentication_string from mysql.user; //查询数据库默认用户
alter user 'root'@'localhost' identified by 'root' //默认空密码,修改密码,不然Navicat不接受空密码连接

至此,和Navicat连接前期准备成功!
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第6张图片
【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码_第7张图片
宁愿接受百次看不懂的智商打击,也不想各种工具的版本问题趟坑一两回!

你可能感兴趣的:(数据库,mysql,数据库,navicat)