从Navicat切换到DBeaver的详细教程,一学即会。

自从学会使用了Navicat,用一段时间发现Navicat有一些的问题缺陷:

1.需要购买花钱才能使用,网上找的破解版也能使用,但一些公司有版权限制,又不能使用;

2.在连接过程中经常断开连接,在来回切换电脑连接网络或一段时间不使用Navicat再次使用时就会无法正常运行SQL,需要关闭客户端再次连接才能正常运行;

今天就推荐另一款数据库管理工具:DBeaver,这是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具 支持 MySQLPostgreSQLOracleDB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

DBeaver下载安装:

1.DBeaver官网链接点击进入DBeaver官网,选择Download,进入下载页面DBeaver官网下载,我的电脑是Windows系统,选择对应的Zip压缩包下载,若是Mac系统选择Mac安装包下载即可。

 2.下载解压之后在文件中找到.exe的安装包进行安装,安装路径根据需要自行选择。

 3.安装完成之后需要在DBeaver中按照提示安装驱动,安装完成即可。

Navicat的数据库导出连接:

导出连接:
1.在Navicat工具界面,鼠标放在连接名称上,点击文件>选择导出连接


2.更改保存路径,记得勾选导出密码,点击确定,生产connections.ncx文件,注意以.ncx结尾的文件

 3.找到刚刚导出的.ncx文件,右键点击选择打开方式为txt记事本,就可以看到所连接的IP、端口、用户名及密码。(注意:此时从Navicat导出的密码是经过加密的,不能直接连接使用)

一:可以找运维或后端索要密码连接;

二:可以将加密过的密文进行解密,解密方法:在txt文档中搜索Password,找到Password=后面的明文,在下面代码中进行运行解密,就可以得到数据库连接的密码;

那么就需要用到一段PHP代码,该代码可以通过在线运行PHP代码在线运行:

<?php
class NavicatPassword
{
    protected $version = 0;
    protected $aesKey = 'libcckeylibcckey';
    protected $aesIv = 'libcciv libcciv ';
    protected $blowString = '3DC5CA39';
    protected $blowKey = null;
    protected $blowIv = null;
     
    public function __construct($version = 12)
    {
        $this->version = $version;
        $this->blowKey = sha1('3DC5CA39', true);
        $this->blowIv = hex2bin('d9c7c3c8870d64bd');
    }
     
    public function encrypt($string)
    {
        $result = FALSE;
        switch ($this->version) {
            case 11:
                $result = $this->encryptEleven($string);
                break;
            case 12:
                $result = $this->encryptTwelve($string);
                break;
            default:
                break;
        }
         
        return $result;
    }
     
    protected function encryptEleven($string)
    {
        $round = intval(floor(strlen($string) / 8));
        $leftLength = strlen($string) % 8;
        $result = '';
        $currentVector = $this->blowIv;
         
        for ($i = 0; $i < $round; $i++) {
            $temp = $this->encryptBlock($this->xorBytes(substr($string, 8 * $i, 8), $currentVector));
            $currentVector = $this->xorBytes($currentVector, $temp);
            $result .= $temp;
        }
         
        if ($leftLength) {
            $currentVector = $this->encryptBlock($currentVector);
            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
        }
         
        return strtoupper(bin2hex($result));
    }
     
    protected function encryptBlock($block)
    {
        return openssl_encrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING);
    }
     
    protected function decryptBlock($block)
    {
        return openssl_decrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING);
    }
     
    protected function xorBytes($str1, $str2)
    {
        $result = '';
        for ($i = 0; $i < strlen($str1); $i++) {
            $result .= chr(ord($str1[$i]) ^ ord($str2[$i]));
        }
         
        return $result;
    }
     
    protected function encryptTwelve($string)
    {
        $result = openssl_encrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
        return strtoupper(bin2hex($result));
    }
     
    public function decrypt($string)
    {
        $result = FALSE;
        switch ($this->version) {
            case 11:
                $result = $this->decryptEleven($string);
                break;
            case 12:
                $result = $this->decryptTwelve($string);
                break;
            default:
                break;
        }
         
        return $result;
    }
     
    protected function decryptEleven($upperString)
    {
        $string = hex2bin(strtolower($upperString));
         
        $round = intval(floor(strlen($string) / 8));
        $leftLength = strlen($string) % 8;
        $result = '';
        $currentVector = $this->blowIv;
         
        for ($i = 0; $i < $round; $i++) {
            $encryptedBlock = substr($string, 8 * $i, 8);
            $temp = $this->xorBytes($this->decryptBlock($encryptedBlock), $currentVector);
            $currentVector = $this->xorBytes($currentVector, $encryptedBlock);
            $result .= $temp;
        }
         
        if ($leftLength) {
            $currentVector = $this->encryptBlock($currentVector);
            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);
        }
         
        return $result;
    }
     
    protected function decryptTwelve($upperString)
    {
        $string = hex2bin(strtolower($upperString));
        return openssl_decrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);
    }
};
 
 
//需要指定navacat版本两种,11或12
$navicatPassword = new NavicatPassword(11);
 
//解密,括号里面写入navicat加密后的密码
$decode = $navicatPassword->decrypt('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
echo $decode."\n";

DBeaver数据库的连接

1.在拿到数据库的服务器地址、端口、用户名、密码后,就可以在DBeaver中顶部tab栏中找到数据库-新建数据库连接,在SQL中找到MySQL,输入对应地址、端口、用户名、密码后就可以正常连接了;

 2.连接成功之后就可以正常运行MySQL语句了,初次使用会与Navicat快捷键有所不同,多多使用几次习惯了就行啦,顺带分享一些常用的快捷键,希望能够帮到大家了!

ctrl + enter 执行sql
ctrl + \  执行sql,保留之前窗口结果
ctrl + alt + ↑ 向上复制一行
ctrl + alt + ↓ 向下复制一行
ctrl + shift + F 对sql语句进行格式化,对于很长的sql语句很有用
ctrl + d 删除当前行
alt + ↑ 向上选定一条sql语句
alt + ↓ 向下选定一条sql语句
ctrl + / 行注释
ctrl + shift+ / 块注释
ctrl + f 查找、替换
ctrl + space sql提示(如果写了from table后也会自动提示field)
ctrl + shift + E 执行计划
ctrl + shift + U 将选定的sql转换成大写字母
ctrl + shift + L 将选定的sql转换成小写字母

注意:本文所有文字仅代表个人想法,没有对任何软件攻击行为,只是为了希望学习更多的知识和积累个人的经验,欢迎大家前来交流学习!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Navicat是一款独立的数据库管理工具,支持多种数据库管理系统,包括MySQL、MariaDB、Oracle、PostgreSQL、SQLite等。Navicat提供了完整的数据库管理功能,包括数据查询、修改、导入导出、备份恢复等。本文将介绍在CentOS 7上安装Navicat Server的详细教程。 1. 下载Navicat Server 首先,从Navicat官网下载Navicat Server的安装包,下载地址为:https://www.navicat.com.cn/download/navicat-server 2. 安装Navicat Server 将下载的Navicat Server安装包上传到CentOS 7服务器上,解压缩安装包: tar zxvf navicat-server-linux.tar.gz 进入解压缩后的目录,执行安装脚本: ./install.sh 按照提示一步步进行安装,安装完成后,Navicat Server将自动启动。 3. 配置Navicat Server Navicat Server默认监听33060端口,可以通过修改配置文件/etc/navicat-server.ini进行修改。使用vi编辑器打开配置文件: vi /etc/navicat-server.ini 修改以下内容: [Server] Port=33060 #修改为你需要的端口号 [Database] DataDirectory=/var/lib/navicat-server/data #修改为你需要的数据存储目录 [User] Name=admin Password=password #修改为你需要的用户名和密码 4. 启动Navicat Server 修改配置文件后,重新启动Navicat Server: systemctl restart navicat-server 5. 连接Navicat Server 使用Navicat客户端连接Navicat Server,打开Navicat客户端,点击“连接”按钮,在“连接设置”窗口中输入以下信息: - 连接名:自定义 - 主机名/IP地址:服务器IP地址 - 端口号:Navicat Server监听的端口号 - 用户名:在配置文件中设置的用户名 - 密码:在配置文件中设置的密码 点击“测试连接”按钮,如果连接成功,则可以开始使用Navicat管理数据库了。 总结 通过上述步骤,我们就可以在CentOS 7上安装Navicat Server,并通过Navicat客户端连接和管理数据库Navicat是一款强大的数据库管理工具,使用起来非常方便,可以提高我们的工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值