Как я могу проверить, использует ли мое соединение MySQL S SH или нет? - PullRequest
1 голос
/ 18 апреля 2020

Я использую новую установку MyDa c 10.1.3 и Securebridge 9.2 в Delphi 2009 для подключения к удаленной базе данных MySQL, размещенной на общем сервере (в JustHostMe), который, по их утверждению, позволяет S SH. У меня нет доступа к самому серверу, поэтому я не могу запускать какие-либо команды типа администратора, просто SQL. Я могу нормально подключиться через порт 3306, но хотел сделать это, используя S SH.

Я следовал учебному пособию здесь , сделал свои закрытые и публичные c ключи, передал мои публикации c ключ к серверу и авторизовал его с помощью cpanel, специально для этого учебника сделал нового пользователя базы данных. В сумме говорится, что нужно использовать TCRSSHIOHandler, но на палитре его нет, поэтому вместо этого я использовал TMySSHIOHandler, что похоже на то же самое.

Порт в ScSSHClient установлен на 22, как в учебном пособии, но порт на TMyConnection будет принимать только 3306 (22 не будет подключаться при тестировании).

По сути, тестовое приложение запускается, подключается к базе данных и показывает результат SQL SHOW STATUS (который я вставил в запрос в качестве теста).

Мой вопрос, хотя просто:

Как я могу проверить, использует ли соединение S SH или нет?

Имея в виду, я запускаю приложение Delphi подключено на общий сервер, к которому у меня нет доступа администратора.

Я прочитал эту публикацию SO , но, похоже, предполагается, что у меня есть прямой доступ к серверу.

В случае, если кто-нибудь попросит увидеть код для этого минималистского приложения, все это просто

unit U_frmMain;
// see https://www.devart.com/mydac/docs/ssh.htm

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScSSHClient, ScBridge, StdCtrls, Grids, DBGrids, DB, MemDS, DBAccess,
  MyAccess, CRVio, CRSSLIOHandler, MySSLIOHandler, CRSSHIOHandler,
  MySSHIOHandler;

type
  TForm1 = class(TForm)
    MyConnection1: TMyConnection;
    MyQuery1: TMyQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    ScFileStorage1: TScFileStorage;
    ScSSHClient1: TScSSHClient;
    MySSHIOHandler1: TMySSHIOHandler;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
MyQuery1.open;
end;

end.
...