use ssh tunnel with phpmyadmin

Posted by JohnMerlino on Server Fault See other posts from Server Fault or by JohnMerlino
Published on 2012-11-09T15:58:45Z Indexed on 2012/11/12 23:03 UTC
Read the original article Hit count: 252

Filed under:
|

I been using ssh tunnel to bypass firewall of remote mysql server. On my Ubuntu 12.04 installation, it works via the terminal and it works when using a program called mysql workbench. However, that program freezes often and I want to try phpmyadmin as an alternative.

However, I cannot connect to remote server using ssh tunnel on phpmyadmin, albeit I can connect locally.

These are the steps I've tried:

1) Open a tunnel, listening on localhost:3307 and forwarding everything to xxx.xxx.xxx.xxx:3306 (used 3307 because MySQL on my local machine uses the default port 3306):

ssh -L 3307:localhost:3306 [email protected]

So now I have the port for tunnel open and I have my local mysql installation default port:

$ netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3307          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
...

2) Now I can easily connect to remote server via localhost using the terminal:

$ mysql -u user.name -p -h 127.0.0.1 -P 3307

Notice that I expicitly identify 3307 as the port, so traffic forwards to the remote server, and hence it logs me in to the remote server.

Unfortunately, the localhost/phpmyadmin local login interface doesn't allow you to specify a port option. So I modify the config-db.php file and change the $dbport variable to 3307, under the impression that the phpmyadmin interface will now work with port 3307:

$ sudo vim /etc/phpmyadmin/config-db.php
$dbport='3307';

Then I restart the mysql server.

Unfortunately, it didn't work. When I use the remote credentials to login, it gives me error:

#1045 Cannot log in to the MySQL server

© Server Fault or respective owner

Related posts about phpmyadmin

Related posts about ssh-tunnel