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,回车后提 ...
随机推荐
- j2ee学习笔记 Filter过滤器
作用:过滤response和request对象的内容 使用: Filter是J2EE的一个接口,自定义Filter需要实现该接口,并重写所有的方法. Filter提供的方法: init() doFil ...
- Android(java)学习笔记175:BroadcastReceiver之 外拨电话的广播接收者
首先我们示例工程一览表如下: 1.首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中定义了监听到广播,要执行的操作: ...
- CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\d29b5393\123c3a1c\App_Code.odl3w4o6.dll”--“拒绝访问。 ”
IIS部署网站或者Webservice时,出现以下问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Tempor ...
- iOS10新增Api详解
1.SiriKit SiriKit的功能非常强大,支持音频.视频.消息发送接收.搜索照片.预订行程.管理锻炼等等.在用到此服务时,siri会发送Intent对象,里面包括用户的请求和各种数据,可以对这 ...
- js作用域链
js作用域链 <script> var up = 555; function display(){ var innerVar = 2; function inner(){ var inne ...
- JSP三个指令及9个内置对象
注:本文编写方便自己以后用到时查阅 三大指令:include. page.taglib include指令: 作用: 在当前页面用于包含其他页面 语法: <%@include file=&qu ...
- hdoj (1162) 最小生成树
Problem B Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Sub ...
- Cocos2dx边学边总结——开篇(一)
Cocos2dx是一个很好的开源跨平台2d游戏引擎,我们都知道他底层是基于OpenGl ES的,OpenGl 是跨平台的. 正是得益于这点 Cocos2dx的显示部分可以很好的跨平台运作,笔者认为 未 ...
- Centos 6.5 RedHat 6 安装mysql
所需文件列表, 这些文件在安装光盘内的Packages文件夹内, 也可以到MySQL官方网站下载其他版本(需要FQ). 将这些文件放在/usr/loca/src文件夹: -.el6.x86_64.rp ...
- Bootstrap 3 支持 IE8
Bootstrap 3 支持 IE8 <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries ...