Windows users will first need to download and install an SSH client program. To terminate the SSH tunnel type CTRL+C in the console where the ssh client is running. When prompted, enter the MySQL user password. Where MYSQL_USER is the remote MySQL user having privileges to access the database. Now you can point your local machine MySQL client to 127.0.0.1:3336 enter the remote database login credentials and access the MySQL server.įor example, to connect to the MySQL server using the command line mysql client you would issue: mysql -u MYSQL_USER -p -h 127.0.0.1 It is a good idea to set up an SSH key-based authenticationĪnd connect to the server without entering a password.
After entering it, you will be logged in to the server, and the SSH tunnel will be established. Once you run the command, you’ll be prompted to enter your SSH user password. (the default) specify the port with the -p option. If the SSH server is listening on a port other than 22.To run the command in the background, use the -f option.- The remote SSH user and server IP address.The local port ( 3306), the destination IP ( 127.0.0.1) and the remote port ( 3306) are separated with a colon ( :). -N - Tells SSH not to execute a remote command.If you are using Linux or macOS as your operating system, you can create an SSH tunnel using the following command: ssh -N -L 3336:127.0.0.1:3306 options used are as follows: If a second call is made to mysqlconnect() with the same arguments, no new connection will be established instead, the identifier of the already opened connection will be returned: clientflag: Optional. SSH access to the system on which the MySQL server runs.Ĭreate an SSH Tunnel on Linux and macOS #Ĭlient is preinstalled on most Linux and Unix-based systems.
In this guide, we will explain how to create an SSH tunnel and connect to the MySQL server from remote clients. Is a method of creating an encrypted SSH connection between a client and a server machine through which services ports can be relayed. , but that requires administrative privileges, and it may cause security risks.Ī more secure alternative would be to create an SSH tunnel from the local system to the server. One option would be to configure the MySQL server to allow remote connections However, in some situations, you might want to connect to the server from remote locations. By default, the MySQL server listens only on localhost, which means it can be accessed only by applications running on the same host.