Delphi能通过SSH登录Linux,连接MYSQL取数么?像Navicat一样
百度随时就能搜,你就懒得搜下。
http://tieba.baidu.com/p/671327617
Ssh tunnel通常能实现3种功能
1) 加密网络传输
2) 绕过防火墙
3) 让位于广域网的机器连接到局域网内的机器
---------------------------------------------------------------------------------
Delphi能通过SSH登录Linux,连接MYSQL取数么?
SSH是远程连接Linux的其中一种通道方式。
目前Linux的MYSQL不允许开放远程访问,因此只能SSH登录Linux后访问MYSQL。
像Navicat 有参数是SSH通道,填Linux服务器的IP、用户、密码,
还有参数填安装在Linux下的MYSQL IP、用户、密码,Navicat能连接上MYSQL取数了
Delphi的组件基本只能直连填MYSQL IP、用户、密码,目前找不到相关先通过SSH,再MYSQL连接的资料啊。
不知道用什么方法能在本地通过SSH连接上远程Linux服务器上的MySQL
求大侠们指点指点
---------------------------------------------------------------------------------
谢谢各位大侠,经过2天的摸索,基本把功能实现了。
大部分SSH连接软件都有SSH通道转发功能,就是用这个实现的。
如果Delphi在代码上实现的话,用libSSH 或者 SecureBridge都可以。
代码基本不用帖,思路给大家讲一下吧。
SSH有端口转发(映射)功能,把Linux的MYSQL端口,映射到本机对应的端口后,
然后访问就等于本机安装了MYSQL直接访问了。
---------------------------------------------------------------------------------
到UniDAC的Demos\TechnologySpecific\SecureBridge 目录里安装好控件.然后添加CRSSHIOHandler控件,再在设置一下unidac的IOHandler就可以使用SecureBridge了
再通过 xuchuantao (暗黑天使) 大侠的指点:
目前可以通过SSH通道端口映射或者
用 UniDac + SecureBridge 实现。
UniDAC的Demos\TechnologySpecific\SecureBridge 还有个CRSSLIOHandler组件要安装
拖出 SSHClient、SSHChannel、 CRSSLIOHandler、FileStorage 组件
UniConnection IOHandler属性关联一下组件 CRSSLIOHandler
再按一般直连方式填入 MySQL连接信息即可
SSHClient组件 HostName(Linux服务器IP)、PassWord(密码)、Port(端口)、User(Linux 登录用户如:ROOT)
然后就全部OK了
当然SSH要KEY才可以的 在SSHClient 的 OnServerKeyValidate 事件加入
var
Key: TScKey;
fp, msg: string;
begin
Key := ScFileStorage.Keys.FindKey(ScSSHClient.HostName);
if (Key = nil) or not Key.Ready then
begin
NewServerKey.GetFingerPrint(haMD5, fp);
NewServerKey.KeyName := ScSSHClient.HostName;
ScFileStorage.Keys.Add(NewServerKey);
Accept := True;
end;
end;
才行,否则运行的时候连接会提示 Host key not verified
然后就可以愉快的连接了,当然MySQL乱码问题还是要设置一下utf8 和 useunicode
http://bbs.2ccc.com/topic.asp?topicid=504027
http://bbs.2ccc.com/topic.asp?topicid=516086
Delphi能通过SSH登录Linux,连接MYSQL取数么?像Navicat一样的更多相关文章
- linux连接mysql 出现Access denied for user 'root'@'localhost'(using password: YES)错误解决方案
linux连接mysql /usr/local/mysql/bin/mysql -uroot -p 输入密码出现Access denied for user 'root'@'localhost'(us ...
- 【工具大道】ssh登录Linux服务器,并显示图形化界面
本文地址 点击关注微信公众号 "程序员的文娱情怀" 分享提纲: 1. 概述 2. mac版实现ssh登录,显示图形化 1. 概述 平时ssh登录到Linux服务器都是在命令行下进行 ...
- 创建密钥并使用密钥ssh登录linux
创建密钥并使用密钥ssh登录linux 使用密钥对登录ssh简介 通过ssh_keygen胜场公钥和私钥,公钥放在要登录的目标的机器上,私钥放登录发起的机器上. 生成密钥 我是在ubuntu上生成的密 ...
- 用mac的terminal通过公私钥和ssh登录Linux
刚开始使用mac,会觉得很难用,在网上找的方法也差强人意,经过自己的实践,找到下面这种方法,很好用,步骤也很简单 1.在mac本的个人目录下创建一个文件夹:.ssh. 在这个文件夹下使用ssh- ...
- 远程登陆linux连接mysql root账号报错:2003-can't connect to MYSQL serve(转)
远程连接mysql root账号报错:2003-can't connect to MYSQL serve 1.远程连接Linux系统,登录数据库:mysql -uroot -p(密码) 2.修改roo ...
- 无密码ssh登录linux
简介 ssh是常见的远程登录linux的方式,大部分时候需要输入用户名密码登录.本文介绍如何无密码登录linux,适用于mac和linux,windows不清楚. 不过这不是什么新的知识,基本上大家都 ...
- Linux 连接mysql
连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提 ...
- 【Mysql】linux连接mysql错误解决方案
1.源码 //connect-mysql.c #include <stdio.h> #include "/usr/include/mysql/mysql.h" int ...
- linux连接mysql命令
连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提 ...
随机推荐
- java String的比较,BOX装箱拆箱,以及面向对象的小代码
package cn.hncu.day2; public class StringDemo { public static void main(String[] args) { String str1 ...
- Managing Group Policy with PowerShell
Overview In this article, I’ll talk about your options when it comes to managing Group Policy using ...
- Linux系统ifconfig命令找不到,centos ifconfig Command not found
centos ifconfig Command not found,Linux系统ifconfig命令找不到 >>>>>>>>>>>& ...
- HTML+CSS基础学习笔记(3)
一.提交按钮.重置按钮 1.type="submit" 提交按钮 2.type="reset" 重置按钮 二.form表单中的label标签 格式: < ...
- Singleton设计模式 分类: 设计模式 2014-12-03 17:54 59人阅读 评论(0) 收藏
实现方法: public class SingleTon<T> where T : class, new() { protected SingleTon() { } pri ...
- 利用jquery实现百度新闻导航菜单滑动动画
前言 前两天,群里有人问百度新闻导航是如何实现的,当时由于忙于工作,没有来得及细看,恰好今天有空闲时间,索性就实现一下这个效果吧: 思路与步骤 1.利用UL创建简单横向导航: <!DOCTYPE ...
- hadoop_并行写操作思路
这篇文章是关于,如何修改hadoop的src以实现在client端上传大文件到HDFS的时候, 为了提高上传的效率实现将文件划分成多个块,将块并行的写入到datanode的各个block中 的初步的想 ...
- iOS中判断消息推送是否打开
根据 [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 的返回值来进行判断,该返回值是一个枚举值,如下: typed ...
- 读懂IL代码(三)
由于要写毕业论文的缘故,最近比较没有时间写,总是要抽出时间抽出时间.诶,这样的生活比较烦躁. 这一篇主要写委托.类.方法的IL代码,一一来说明. 委托:搞过C#的都应该清楚,委托实际上是一个类.编译器 ...
- Lucene分页-----SearcherAfter
/** * 分页,SearcherAfter * @param query * @param pageIndex * @param pageSize */ public void searchPage ...