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数据库

双击

DBeaver连接mysql数据库和备份恢复那些事_数据库

等待界面

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_02

新建数据库连接

DBeaver连接mysql数据库和备份恢复那些事_mysql_03

或者如下方式,也可以新建数据库连接

DBeaver连接mysql数据库和备份恢复那些事_数据库_04

选择要连接的类型:mysql5

DBeaver连接mysql数据库和备份恢复那些事_mysql_05

编辑驱动(​敲黑板了重点​)

DBeaver连接mysql数据库和备份恢复那些事_数据库_06

删除DBeaver默认带的联机驱动配置

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_07

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_08

添加 本地的JDBC驱动包

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_09

DBeaver连接mysql数据库和备份恢复那些事_mysql_10

填写mysql连接的相关信息,并进行连接测试

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_11

测试结果:成功

DBeaver连接mysql数据库和备份恢复那些事_数据库_12

完成连接

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_13

验证数据

成功连接到mysql数据库之后,我们来查看一下库表中的数据。

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_14

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_15

双击要查看的表

DBeaver连接mysql数据库和备份恢复那些事_mysql_16

属性标签展示:字段列的设置:类型、长度、自增等等

DBeaver连接mysql数据库和备份恢复那些事_mysql_17

数据标签展示:表中真正的数据内容

DBeaver连接mysql数据库和备份恢复那些事_jdbc_18

ER图标签展示:多表之间的ER图关系

DBeaver连接mysql数据库和备份恢复那些事_数据库_19

mysql数据备份与恢复

navicat对mysql数据的备份与恢复,操作非常简单。通过图形界面,鼠标点击的方式,即可完成。DBeaver同样如此方便,下面我们来实战操作一下吧。

备份数据

左键点击要操作的数据库,然后右键选择工具,最后选择 转储数据库,如下图:

DBeaver连接mysql数据库和备份恢复那些事_mysql_20

随即弹出了导出数据的向导,选择要导出的对象(也就是要对哪些库中的哪些表备份)

DBeaver连接mysql数据库和备份恢复那些事_mysql_21

导出配置(备份后生成的sql文件设置、sql文件保存的位置、是否只要表结构等等)

DBeaver连接mysql数据库和备份恢复那些事_数据库_22

随后会自动下载mysqldump工具(如果本机没有单独安装mysql,就会自动下载)

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_23

导出进度

DBeaver连接mysql数据库和备份恢复那些事_数据库_24

导出完成

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_25

关闭导出窗口

DBeaver连接mysql数据库和备份恢复那些事_mysql_26

查看备份数据生成的sql文件

备份操作生成的sql文件,它的​命名规则:dump-库名-操作的时间戳.sql

DBeaver连接mysql数据库和备份恢复那些事_数据库_27

模拟表的数据丢失

使用truncate命令,清空test库中testsqoop表中所有数据。

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_28

恢复数据

左键点击要操作的数据库,然后右键选择工具,最后选择恢复数据库,如下图:

DBeaver连接mysql数据库和备份恢复那些事_数据库_29

随即弹出了导入数据的向导,选择输入文件(通过哪个sql文件进行恢复)

DBeaver连接mysql数据库和备份恢复那些事_jdbc_30

开始导入

DBeaver连接mysql数据库和备份恢复那些事_mysql_31

导入完成

DBeaver连接mysql数据库和备份恢复那些事_jdbc_32

关闭导入窗口

DBeaver连接mysql数据库和备份恢复那些事_mysql_33

mysql数据备份与恢复出错

各位看我上面演示的文章中,操作非常顺利吧,一点错都没有报。那是因为各位兄弟看到的是结果,我在操作过程中也是频频报错,让人头大啊。我来总结一下这些错误,分享出来,希望各位兄弟,就不要再踩我踩过的坑了。

错误1、不是有效的win32应用程序

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_34

从报错提示来看,问题产生的根本原因:应该是64位的操作系统中,使用了32位的程序。

查看笔记本操作系统

右键我的电脑,然后选择属性标签即可

DBeaver连接mysql数据库和备份恢复那些事_mysql_35

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_36

DBeaver连接mysql数据库和备份恢复那些事_数据库_37

通过查询结果可以看出来,我的是64位操作系统,上图中红色标框的部分

DBeaver使用的mysql.exe

DBeaver默认会安装一个mysql.exe,在做导入\\导出操作时,底层使用的是这个mysql.exe来操作,查询如下图:

DBeaver连接mysql数据库和备份恢复那些事_mysql_38

DBeaver连接mysql数据库和备份恢复那些事_数据库_39

DBeaver连接mysql数据库和备份恢复那些事_数据库_40

DBeaver连接mysql数据库和备份恢复那些事_DBeaver_41

报错原因

看到这就明白问题产生的原因了,我笔记本是64位操作系统,安装了64位的DBeaver软件包,但是我做导入\\导出数据操作时,默认使用的是32位的mysql.exe。

解决报错

那我们来解决一下,安装一个完整64位的mysql软件,并且要配置MYSQL_HOME这个环境变量,让DBeaver来识别到你安装的mysql。

本机安装mysql

我的安装包mysql-5.7.35-​winx64​.zip,注意安装包的名字中有winx64的标识

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_42

配置mysql的环境变量(DBeaver可以识别)

环境变量,请以你自己安装的实际路径为准,除非兄弟你mysql安装路径和我一模一样的

DBeaver连接mysql数据库和备份恢复那些事_数据库_43

重启DBeaver识别mysql

DBeaver连接mysql数据库和备份恢复那些事_备份恢复_44

DBeaver连接mysql数据库和备份恢复那些事_jdbc_45

兄弟们继续操作起来了,再次进行导入\\导出数据吧!

错误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数据库和备份恢复那些事的主要内容,如果未能解决你的问题,请参考以下文章

dbeaver修改时间合适

Zookeeper中Session Timeout的那些事

恢复存储在我的 DBeaver 连接中的数据库密码

DBeaver 错误解决 maven 依赖项

DBeaver 和 MySQL 之间的连接

如何使用java程序备份和恢复MySql数据库?