这篇简单介绍下载 IDEA 中如何直接连接 MySQL 数据库并操作数据库对象。
第一步,配置数据库信息
点击 IDEA 中右侧的工具栏 Database。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116145806680.png)
弹出的数据库配置框中,输入 MySQL 数据库的配置信息。如果能连接成功,则如下图,点击 OK 即可。
如果连不上,可能发生错误之类的,请翻到文章最后,参考一些发生的常见问题及解决办法。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116145714941.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
第二步,查看数据库中的对象信息
可以看到刚才配置的数据库已经有了。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116150206553.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
但点开 schemas 后,发现并没有任何数据库,这个问题可能在 IDEA 的新版本存在,需要修改下刚才的配置。点击配置信息快捷图标,如下:
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116150443757.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
按照如下图所示,可以选择要用的数据库,或者勾选所有数据库,便于使用,点击 OK。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116150607181.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
可以看到选中的数据库已经有了
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116150715687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
表也都显示了。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116150742780.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
第三步,操作数据库中的对象
比如如何查看表信息,操作表数据呢?
直接在表名上双击,即可打开操作窗口,如图:
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116151035619.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
如果想带条件查询,按照上图中表顶部,输入条件,也就相当于 where 后面的条件部分,然后回车,就可以看到查询出满足条件的数据了。
如何修改表信息呢?
双击要修改的值,直接修改,如下图:
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116151249181.png)
然后需要在所在行上,点击鼠标右键,选择提交,才能把修改后的数据刷入数据库。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116151441255.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
所有基本的数据库 CRUD 操作,都可以在 IDEA 底部的 Services 窗口中看到对应的命令,比如刚才的修改行记录的日志,如下图:
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116151815341.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
四、配置中出现的问题
Q1:当连接数据库的用户对应的密码为空时,IDEA 一直提示让输入密码。。。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116152537727.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
不知道是什么问题,比如配置时,root 密码本来为空,结果一直让提示输入密码,配置不成功,也没搜到啥原因,先把问题放这里,如果查到原因了,再补充这里。
备注:但是通过其它连接 MySQL 的客户端工具,不输入密码是可以连接的,比如 SQLyog,如图:
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116152725833.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
最后逼的没办法,修改了 root 的密码,才配置成功的。。。
如何修改用户对应的密码呢?命令如下:
进入 MySQL 命令窗口,输入命令:mysql -uroot -p
回车后输入密码(因为现在为空,不用输入)并回车,就可以看到连接上了 MySQL 数据库。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116152908566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
查看有哪些数据库,命令:show databases;
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116153020303.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
切换数据库 mysql,命令为:use mysql;
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116153058101.png)
针对要连接的用户(这里为 root),修改密码为自己要设置的密码,这里设置为 123456。
命令:update user set password=PASSWORD('123456') where user='root';
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116153319236.png)
所有 user = root 的密码都会修改,所以修改时务必小心,别改错了,可以提前打开表看看,对应 Host 的 root 用户密码修改,这里为个人测试数据库,所以就没带 host 条件。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116153532353.png)
最后别忘了需要刷新一下使得修改生效。
命令:flush privileges;
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116153947427.png)
最后退出 MySQL 数据库:quit;
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116154037368.png)
再次配置 IDEA,则可以看到可以连接成功了!!!
顺便科普一下该命令的作用:
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
Q2:连接是发生错误,信息为:Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 是什么原因导致的?
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116144641409.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
服务器返回无效的时,时区错误,如何进行设置连上数据库?
导致该问题的原因是:MySQL 默认的时区是 UTC 时区,比北京时间晚 8 个小时,所以要修改 mysql 的时长。
如何修改,步骤如下:
进入 MySQL 命令窗口,输入:mysql -uroot -p
回车后输入密码并回车,就可以看到连接上了 MySQL 数据库。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/2019111614541837.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70)
然后输入:set global time_zone='+8:00';
屏幕提示 OK 即完成了 MySQL 数据库的时区修改。
![](http://images.weserv.nl/?url=https://img-blog.csdnimg.cn/20191116145513960.png)
再次配置 IDEA 的连接信息,可以看到错误消失了,数据库就可以连上了。