Namecheap already provided instructions to connect MySQL Workbench client for its shared hosting, which involves SSH-tunneling because they disallowed direct MySQL connection out of security concerns.
So here’s basically the logistics:
- SSH to your namecheap hostname (can use your domain name) at SSH port
21098
- Tunnel listens to Port
5522
and forward it tolocalhost
(the client itself) at MySQL Port3306
- Instead of connecting directly to the
{namecheap shared hosting server}:3306
, connect to thelocalhost:3306
It’s a little confusing on how to do it on DBeaver because “Advanced settings” is hidden by default which you will need. The name ‘local client’ (source) vs ‘remote’ (destination) in the dialog box is confusing. It’s actually equivalent to
ssh -L ["Local host":]"Local port":"Remote host":"Remote port"
ssh -L [bind_address:]port:host:hostport
bind_address
can be left blank. If you are paranoid and don’t want other machines to use your current MySQL client machine as a gateway (they tunnel into your machine to use the tunnel you are currently establishing), set (aka bind) it to localhost
, or you can bind it to the client’s network adapter’s IP which you want to allow machines on a trusted network to use this MySQL client computer as a gateway.
For some reason (I suspect it’s IPv6), “Remote host” needs to be set to the loopback adapter 127.0.0.1 (cannot use the special hostname ‘localhost
‘).
Remember MySQL’s username and password is the special database-only login credentials you created at cPanel.