300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码

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

时间:2023-02-10 23:26:53

相关推荐

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

我遇到一个超级棘手的难题,由于一个旧web项目需要用到c3p0的数据库操作库,由于本人jdk是1.7版本,mySQL是8.0版本,同时mySQL8.0支持5.x的驱动,在一般的MVC操作并无问题。但是c3p0却提示:

经思考,为保证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最后一个版本?

官网花里胡哨的英文中挑出一个历史版本的链接:

/archives/community/

5.7最后一个版本不像最新的8.0没有msi安装工具,只是一个压缩文件。

基本操作:/p/a41d45890ab2

值得注意的有,配置环境变量、data和Uploads目录以及手动添加my.ini文件。

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

[mysqld]port=3306character_set_server=utf8basedir=//注意这里是zip解压后目录名 如E:\mysql5.7.23datadir=//注意这里是zip解压后data文件夹地址 如E:\mysql5.7.23\dataserver-id=1sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONlower_case_table_names=1innodb_file_per_table = 1log_timestamps=SYSTEMlog-error = error.logslow_query_log = 1slow_query_log_file = slow.loglong_query_time = 5log-bin = binlogbinlog_format = rowexpire_logs_days = 15log_bin_trust_function_creators = 1secure-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文件内容的路径是否准确,不然会报错:

好巧不巧,第二步意外还是出现了,cmd提示:

server has exist

并没有出现success字样,回到本地服务查看,卸载MySQL8.0后确实残留一个MySQL服务。我明明利用官方的安装工具卸载的,怎么会有残留?是我忘记点选卸载服务了么?

接下来就是删除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服务,不然提示:

至此,成功进入数据库!

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

至此,和Navicat连接前期准备成功!

宁愿接受百次看不懂的智商打击,也不想各种工具的版本问题趟坑一两回!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。