How to test which port MySQL is running on and whether it can be connected to?
grep port /etc/mysql/my.cnf
( at least in debian/ubuntu works )
or
netstat -tlpn | grep mysql
or
mysql -u user_name -puser_pass -e "SHOW variables LIKE 'port';"
verify
bind-address 127.0.0.1
in /etc/mysql/my.cnf to see possible restrictions
Using Mysql client:
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
To find a listener on a port, do this:
netstat -tln
You should see a line that looks like this if mysql is indeed listening on that port.
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
Port 3306 is MySql's default port.
To connect, you just have to use whatever client you require, such as the basic mysql client.
mysql -h localhost -u user database
Or a url that is interpreted by your library code.
netstat -tlpn
It will show the list something like below:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1393/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1859/master
tcp 0 0 123.189.192.64:7654 0.0.0.0:* LISTEN 2463/monit
tcp 0 0 127.0.0.1:24135 0.0.0.0:* LISTEN 21450/memcached
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 16781/mysqld
Use as root for all details. The -t
option limits the output to TCP connections, -l
for listening ports, -p
lists the program name and -n
shows the numeric version of the port instead of a named version.
In this way you can see the process name and the port.