Default MySQL/MariaDB Port, Finding It, Changing It

Changing the MySQL Port

This article will show you how to find the default or current MySQL (or MariaDB) port and how to change it.

What is a Port?

port is a numerical identifier for a communication endpoint on a computer network. Or, put simpler, it’s a unique number on your computer that points to a specific program that is running so that other programs can connect to it.

MySQL/Maria DB, being networked database services, expose themselves to other computers via a configured port, allowing other computers to connect to and read from the databases being hosted by MySQL.

port is usually displayed following a : (colon) character:

ADDRESS:PORT

Where HOSTNAME is the network address or hostname of the computer and PORT is the port number.

Default MySQL Port

By default, MySQL operates on port:

3306

This port will be in use on a fresh installation of MySQL.

Changing the MySQL Port

The port is configured in the my.cnf MySQL configuration file. This file is usually located at:

/etc/mysql/my.cnf

However, the location of this file may vary depending on your OS, so you can find it by running:

mysql --verbose --help | less

If you look through the output, you will be able to see which .cnf file is loaded.

This file can then be edited using the nano text editor by running:

sudo nano /etc/mysql/my.cnf

Then, scroll down to the line where the port is configured:

port = 3306

…and change the port number to whatever new port you wish to use.

Finding the current MySQL Port

The netstat command can tell you which port a running process is using and whether it is open:

netstat -tlnp

The above command will list running processes and the ports and interfaces they are bound to – the output will look something like this:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27788/mysqld

Under the Local Address column, you can see that MySQL is running on port 3306.

Specifying the Port When Connecting

If you are connecting using the MySQL client from the command line, you can specify the port with the -port option:

mysql --host=localhost --user=username --password databasename --port=3306

If you are using the default port, there is no need to specify it.

If you are connecting from another application, for example, a PHP framework or GUI database manager, that software will provide an option to specify the port, which should be documented in their own documentation.

SHARE:
nv-author-image

Brad Morton

I'm Brad, and I'm nearing 20 years of experience with Linux. I've worked in just about every IT role there is before taking the leap into software development. Currently, I'm building desktop and web-based solutions with NodeJS and PHP hosted on Linux infrastructure. Visit my blog or find me on Twitter to see what I'm up to.

Leave a Reply

Your email address will not be published. Required fields are marked *