DBeaver连接mysql数据库和备份恢复那些事
Posted 飞哥大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBeaver连接mysql数据库和备份恢复那些事相关的知识,希望对你有一定的参考价值。
引言
上一篇文章,主要讲解的是如何使用DBeaver连接oracle数据库,同时和大家扩展的聊了聊oracle的监听器了。
在DBeaver这套文章的第1篇中,我就介绍了为什么要引入DBeaver?为了替换掉团队中现有的商用软件,比如大家连接mysql时,最喜欢使用的navicat。
既然要替换掉navicat,那DBeaver就要满足navicat常用的工能。本篇文章主要讲解的是:如何使用DBeaver连接mysql数据库、使用DBeaver备份和恢复mysql数据、备份恢复mysql数据时错误的解决。
关于使用DBeaver备份和恢复mysql数据的文章和视频太多了,可是人家演示的时候都是成功的,没有任何错误,为啥我操作的时候,就是一顿报错,让我们来一起踩坑吧!
mysql的JDBC驱动包
上一篇文章中,使用DBeaver连接oracle数据库时, 我们联网通过DBeaver自动下载的驱动。本篇文章中,我要连接的Mysql是5系列的版本,下载好对应的Jar包:mysql-connector-java-5.1.47.jar。如果你连接的是Mysql是8系列的版本,下载的对应jar包:mysql-connector-java-8.0.10.jar,要注意驱动包的命名是不同的。有人会问可不可以,向下兼容?我建议还是各自用各自的版本的jar包,这样比较稳定。
补充关于驱动jar包的命名:
(1)、mysql-connector-java-5.*.**.jar 代表用于连接mysql5系列的jar包
(2)、mysql-connector-java-8.*.**.jar 代表用于连接mysql8系列的jar包
DBeaver连接mysql数据库
双击
等待界面
新建数据库连接
或者如下方式,也可以新建数据库连接
选择要连接的类型:mysql5
编辑驱动(敲黑板了重点)
删除DBeaver默认带的联机驱动配置
添加 本地的JDBC驱动包
填写mysql连接的相关信息,并进行连接测试
测试结果:成功
完成连接
验证数据
成功连接到mysql数据库之后,我们来查看一下库表中的数据。
双击要查看的表
属性标签展示:字段列的设置:类型、长度、自增等等
数据标签展示:表中真正的数据内容
ER图标签展示:多表之间的ER图关系
mysql数据备份与恢复
navicat对mysql数据的备份与恢复,操作非常简单。通过图形界面,鼠标点击的方式,即可完成。DBeaver同样如此方便,下面我们来实战操作一下吧。
备份数据
左键点击要操作的数据库,然后右键选择工具,最后选择 转储数据库,如下图:
随即弹出了导出数据的向导,选择要导出的对象(也就是要对哪些库中的哪些表备份)
导出配置(备份后生成的sql文件设置、sql文件保存的位置、是否只要表结构等等)
随后会自动下载mysqldump工具(如果本机没有单独安装mysql,就会自动下载)
导出进度
导出完成
关闭导出窗口
查看备份数据生成的sql文件
备份操作生成的sql文件,它的命名规则:dump-库名-操作的时间戳.sql
模拟表的数据丢失
使用truncate命令,清空test库中testsqoop表中所有数据。
恢复数据
左键点击要操作的数据库,然后右键选择工具,最后选择恢复数据库,如下图:
随即弹出了导入数据的向导,选择输入文件(通过哪个sql文件进行恢复)
开始导入
导入完成
关闭导入窗口
mysql数据备份与恢复出错
各位看我上面演示的文章中,操作非常顺利吧,一点错都没有报。那是因为各位兄弟看到的是结果,我在操作过程中也是频频报错,让人头大啊。我来总结一下这些错误,分享出来,希望各位兄弟,就不要再踩我踩过的坑了。
错误1、不是有效的win32应用程序
从报错提示来看,问题产生的根本原因:应该是64位的操作系统中,使用了32位的程序。
查看笔记本操作系统
右键我的电脑,然后选择属性标签即可
通过查询结果可以看出来,我的是64位操作系统,上图中红色标框的部分
DBeaver使用的mysql.exe
DBeaver默认会安装一个mysql.exe,在做导入\\导出操作时,底层使用的是这个mysql.exe来操作,查询如下图:
报错原因
看到这就明白问题产生的原因了,我笔记本是64位操作系统,安装了64位的DBeaver软件包,但是我做导入\\导出数据操作时,默认使用的是32位的mysql.exe。
解决报错
那我们来解决一下,安装一个完整64位的mysql软件,并且要配置MYSQL_HOME这个环境变量,让DBeaver来识别到你安装的mysql。
本机安装mysql
我的安装包mysql-5.7.35-winx64.zip,注意安装包的名字中有winx64的标识
配置mysql的环境变量(DBeaver可以识别)
环境变量,请以你自己安装的实际路径为准,除非兄弟你mysql安装路径和我一模一样的
重启DBeaver识别mysql
兄弟们继续操作起来了,再次进行导入\\导出数据吧!
错误2、IO error: Process failed (exit code = 1)
其实在使用DBeaver导入\\导出时,绝大部分人报错,都是因为没有单独安装对应操作系统位数的mysql软件。 但是我就比较郁闷,我也单独安装了mysql和操作系统匹配的,我也配置了MYSQL_HOME环境变量,在做导入数据时,就报现在这个错。
我也在网上找了各种大神的解决办法:比如在导入时加上字符编码等等,我也查看了日志,反正怎么就是不好使啊。最后实在没招了,抱着试试的想法,我换个别的版本的DBeaver试试吧。
本来安装的是官方最新版本dbeaver-ce-22.0.1-x86_64-setup.exe,我把它彻底删除后,重新安装了dbeaver-ce-21.3.4-x86_64-setup.exe,我再一次做导入数据时,它就成功了。
总结:
这说明了,很多软件不一定最新的就是最好的。任何一款软件最新版本它的好处,就是修复一些Bug、新功能。反过来说的话,最新版本它不一定稳定。
所以,我们工作中使用任何一款软件,它应该至少上市6个月了,选择这样稳定的版本,而不是最新的版本。除非你需要的功能,就只在最新的版本中才有,这就没办法了,兄弟自己趟雷吧!
结束语
至此,DBeaver连接mysql数据库和备份恢复那些事,就全部讲解完了。在做mysql数据库和备份恢复时,我只遇到了2种错误的情况。估计还有其他兄弟,可能还有遇到其它情况,大家也可以和分享,我总结整理之后发出来,这样后面的新人就不会再夭折在学习的路上了。
下一篇文章<DBeaver连接sqlserver数据库>,敬请期待,感谢各位兄弟的来访!!!
以上是关于DBeaver连接mysql数据库和备份恢复那些事的主要内容,如果未能解决你的问题,请参考以下文章