一.问题描述
在虚拟机中使用redis很不舒服因此便把它连接到我的数据库可视化软件datagrip上但是却无法连接
成功,在连接页面报错如下:
二.解决历程
由于在进到连接页面的时候是需要在这个test connection选项上面点击下载驱动的,但是由于在虚拟机中redis运行良好因此我没想到会连接失败,所以没仔细看最开始只看到好像闪过去了一条红色的消息,但是结合上图的no driver所以我认为应该是下载失败了。
遂开始在网上找帖子寻找如何解决无法下载驱动的问题,但是都没有成功,大概描述一下我做过的操作,注意!这是我试验后无法解决问题的操作。仅用来演示一下,请不要照着做。
在插件中心下载了redis插件,
然后重启datagrip,发现进不去了,艹因为redis插件需要收费,反复拉扯了两三回重新进入了datagrip然后按照网上的帖子下载插件后再在里面选择redis的连接,但是如图所示,我下载后也没有出现对应的连接,我怀疑可能是因为我没有激活插件的原因,由于无法生效而且每次打开datagrip都要提醒我购买插件,所以我也是去给插件卸载了。
正确的解决方法:
测试后发现网上的帖子无法解决我的问题,那只能重新去分析我的错误自己尝试解决了,再次尝试连接读它的报错信息:
虽然打开页面显示的错误是没有driver但是在测试的时候报错却是无法连接DNS name,那么会不会跟驱动没有关系而是我的host配置有误呢?
再次检查后发现host和port均没有配置错误,那该怎么办?为什么host配置正确的情况下会报连接失败的错误呢?既然在连接页面的配置正确那就只能是虚拟机内的redis配置有问题了,因此前去查看虚拟机。果然有所发现,如下图所示:
在虚拟机启动了redis后显示的ip居然和我的虚拟机ip不一致应该是redis的默认配置,看来这就是罪魁祸首了,那么便对它进行更改进入虚拟机的/usr/local/bin(在虚拟机里不论你的redis压缩包解压到哪了最后安装到的应该都是这个位置)下的,redis.conf配置文件进行查看:
果然在69行看到了默认配置确实为127.0.0.1,那么把他修改为我们自己的ip:
然后再次启动查看,需要注意的一点是修改了默认ip后我们的启动命令改成如下:
-h后的是自己的ip,并且不能写成别名,也就是不能写成你虚拟机的名字,因为redis会把它当成另一台机器导致无法连接成功。
redis-cli -h 192.168.65.128
启动之后发现修改成了,那再去datagrip进行测试
果然成功了结果如下:
这样问题便解决了,在遇到问题时一定要先确定自己的错误到底是什么地方引起的,而不是一味地去寻找相关帖子,这样才能培养我们自己的能力,并且也能减少我们解决问题少走的弯路。
最后我也是去试了一下在Windows下连接redis发现非常的简单啊,如下图:
只要打开redis,什么都不需要改就可以连接成功,因此如果是只想练习redis的话,还是不要用虚拟机进行连接了,直接在Windows使用要方便的多。