DBeaver连接mysql数据库和备份恢复那些事
  Lb78AVwchy8f 2023年11月02日 62 0

引言

上一篇文章,主要讲解的是如何使用DBeaver连接oracle数据库,同时和大家扩展的聊了聊oracle的监听器了。

在DBeaver这套文章的第1篇中,我就介绍了为什么要引入DBeaver?为了替换掉团队中现有的商用软件,比如大家连接mysql时,最喜欢使用的navicat。

既然要替换掉navicat,那DBeaver就要满足navicat常用的工能。本篇文章主要讲解的是:如何使用DBeaver连接mysql数据库、使用DBeaver备份和恢复mysql数据、备份恢复mysql数据时错误的解决。

关于使用DBeaver备份和恢复mysql数据的文章和视频太多了,可是人家演示的时候都是成功的,没有任何错误,为啥我操作的时候,就是一顿报错,让我们来一起踩坑吧!

mysql的JDBC驱动包

上一篇文章中,使用DBeaver连接oracle数据库时, 我们联网通过工具下载的驱动。本篇文章中,我要连接的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数据库和备份恢复那些事_mysql_02

新建数据库连接

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

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

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

选择要连接的类型:mysql5

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

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

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

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

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

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

添加 本地的JDBC驱动包

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

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

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

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

测试结果:成功

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

完成连接

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

验证数据

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

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


双击要查看的表

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

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

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

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

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

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

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

mysql数据备份与恢复

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

备份数据

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

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

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

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

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

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

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

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

导出进度

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

导出完成

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

关闭导出窗口

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

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

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

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

模拟表的数据丢失

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

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

恢复数据

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

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

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

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

开始导入

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

导入完成

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

关闭导入窗口

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

mysql数据备份与恢复出错

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

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

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

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

查看笔记本操作系统

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

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

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

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

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

DBeaver使用的mysql.exe

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

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

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

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

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

报错原因

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

解决报错

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

本机安装mysql

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

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

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

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

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

重启DBeaver识别mysql

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

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

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

错误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数据库>,敬请期待,感谢各位兄弟的来访!!!


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  DF5J4hb0hcmT   2023年12月11日   36   0   0 mysql
  X5zJxoD00Cah   2023年12月11日   30   0   0 表名SQL
  DF5J4hb0hcmT   2023年12月08日   27   0   0 慢查询druidSQL
Lb78AVwchy8f