简体   繁体   English

如何使用 HeidiSQL 通过 SSH 隧道连接到 MySQL unix 套接字?

[英]How do I connect to MySQL unix socket via SSH tunnel using HeidiSQL?

I'm properly establishing SSH tunnel and I can connect to MySQL users accesible via tcp connection but I don't know how to connect to users accesible only by unix socket.我正在正确建立 SSH 隧道,我可以通过 tcp 连接连接到可访问的 MySQL 用户,但我不知道如何仅通过 unix 套接字连接到可访问的用户。 I know the correct socket location: /var/lib/mysql/mysql.sock and I can connect to it from the command line.我知道正确的套接字位置: /var/lib/mysql/mysql.sock ,我可以从命令行连接到它。

How do I connect via socket using HeidiSQL?如何使用 HeidiSQL 通过套接字连接? Is this impossible when SSH tunnel is being used?使用 SSH 隧道时这是不可能的吗? When I enter '/var/lib/mysql/mysql.sock' into "Host/IP" then I get当我在“主机/IP”中输入“/var/lib/mysql/mysql.sock”时,我得到

Lost connection to MySQL server at 'handshake: reading initial communication packet', system error 22在“握手:读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误 22

UPDATE更新

My HeisiSQL connection settings:我的 HeisiSQL 连接设置:

Servers\\ATLANTIS\\SessionCreated<|||>1<|||>2020-08-14 13:03:22 Servers\\ATLANTIS\\Host<|||>1<|||>/var/lib/mysql/mysql.sock Servers\\ATLANTIS\\WindowsAuth<|||>3<|||>0 Servers\\ATLANTIS\\CleartextPluginEnabled<|||>3<|||>0 Servers\\ATLANTIS\\User<|||>1<|||>atlantis Servers\\ATLANTIS\\Password<|||>1<|||>7 Servers\\ATLANTIS\\LoginPrompt<|||>3<|||>0 Servers\\ATLANTIS\\Port<|||>1<|||>3306 Servers\\ATLANTIS\\NetType<|||>3<|||>2 Servers\\ATLANTIS\\Compressed<|||>3<|||>0 Servers\\ATLANTIS\\LocalTimeZone<|||>3<|||>0 Servers\\ATLANTIS\\QueryTimeout<|||>3<|||>30 Servers\\ATLANTIS\\KeepAlive<|||>3<|||>20 Servers\\ATLANTIS\\FullTableStatus<|||>3<|||>1 Servers\\ATLANTIS\\Databases<|||>1<|||> Servers\\ATLANTIS\\Library<|||>1<|||>libmariadb.dll Servers\\ATLANTIS\\Comment<|||>1<|||> Servers\\ATLANTIS\\StartupScriptFilename<|||>1<|||> Servers\\ATLANTIS\\TreeBackground<|||>3<|||>536870911 Servers\\ATLANTIS\\SSHtunnelHost<|||>1<|||>atlantis.localdomain Servers\\ATLANTIS\\SSHtunnelHostPort<|||>3<|||>22 Servers\\ATLANTIS\\SSHtunnelUser<|||>1<|||>atlan Servers\\ATLANTIS\\SessionCreated<|||>1<|||>2020-08-14 13:03:22 Servers\\ATLANTIS\\Host<|||>1<|||>/var/lib/mysql/mysql .sock Servers\\ATLANTIS\\WindowsAuth<|||>3<|||>0 Servers\\ATLANTIS\\CleartextPluginEnabled<|||>3<|||>0 Servers\\ATLANTIS\\User<|||>1<|| |>atlantis Servers\\ATLANTIS\\Password<|||>1<|||>7 Servers\\ATLANTIS\\LoginPrompt<|||>3<|||>0 Servers\\ATLANTIS\\Port<|||>1<| ||>3306 Servers\\ATLANTIS\\NetType<|||>3<|||>2 Servers\\ATLANTIS\\Compressed<|||>3<|||>0 Servers\\ATLANTIS\\LocalTimeZone<|||>3< |||>0 Servers\\ATLANTIS\\QueryTimeout<|||>3<|||>30 Servers\\ATLANTIS\\KeepAlive<|||>3<|||>20 Servers\\ATLANTIS\\FullTableStatus<|||>3 <|||>1 Servers\\ATLANTIS\\Databases<|||>1<|||> Servers\\ATLANTIS\\Library<|||>1<|||>libmariadb.dll Servers\\ATLANTIS\\Comment<||| >1<|||> Servers\\ATLANTIS\\StartupScriptFilename<|||>1<|||> Servers\\ATLANTIS\\TreeBackground<|||>3<|||>536870911 Servers\\ATLANTIS\\SSHtunnelHost<|||> 1<|||>atlantis.localdomain Servers\\ATLANTIS\\SSHtunnelHostPort<|||>3<|||>22 Servers\\ATLANTIS\\SSHtunnelUser<|||>1<|||>atlan tis Servers\\ATLANTIS\\SSHtunnelPassword<|||>1<|||>6 Servers\\ATLANTIS\\SSHtunnelTimeout<|||>3<|||>4 Servers\\ATLANTIS\\SSHtunnelPrivateKey<|||>1<|||>C:\\secure-folder\\private-key.ppk Servers\\ATLANTIS\\SSHtunnelPort<|||>3<|||>3307 Servers\\ATLANTIS\\SSL_Active<|||>3<|||>0 Servers\\ATLANTIS\\SSL_Key<|||>1<|||> Servers\\ATLANTIS\\SSL_Cert<|||>1<|||> Servers\\ATLANTIS\\SSL_CA<|||>1<|||> Servers\\ATLANTIS\\SSL_Cipher<|||>1<|||> Servers\\ATLANTIS\\IgnoreDatabasePattern<|||>1<|||> Servers\\ATLANTIS\\RefusedCount<|||>3<|||>5 tis Servers\\ATLANTIS\\SSHtunnelPassword<|||>1<|||>6 Servers\\ATLANTIS\\SSHtunnelTimeout<|||>3<|||>4 Servers\\ATLANTIS\\SSHtunnelPrivateKey<|||>1<||| >C:\\secure-folder\\private-key.ppk Servers\\ATLANTIS\\SSHtunnelPort<|||>3<|||>3307 Servers\\ATLANTIS\\SSL_Active<|||>3<|||>0 Servers\\ATLANTIS \\SSL_Key<|||>1<|||> Servers\\ATLANTIS\\SSL_Cert<|||>1<|||> Servers\\ATLANTIS\\SSL_CA<|||>1<|||> Servers\\ATLANTIS\\SSL_Cipher <|||>1<|||> Servers\\ATLANTIS\\IgnoreDatabasePattern<|||>1<|||> Servers\\ATLANTIS\\RefusedCount<|||>3<|||>5

Remotely, the command should be executed like: mysql -u mySqlUser -p mySqlPw -h localhost .远程,命令应该像这样执行: mysql -u mySqlUser -p mySqlPw -h localhost

ssh remote-user@remote "mysql -u mySqlUser -p mySqlPw -h localhost"

As from there, you should be able to do your stuff从那里开始,你应该能够做你的事情

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM