MySQL: Change Default Port Under Linux / UNIX

Posted on in Categories , , , , , , , , , last updated August 26, 2008

Q.I’m using MySQL 5 under Red Hat Enterprise Linux 5. How do I change default mysql server port (tcp port 3306) under Linux or UNIX operating systems?

A. MySQL server and client uses a file called my.cnf. You need to open /etc/my.cnf (Global mysqld configuration file) to specify new port.

MySQL Change Default Port

Open /etc/my.cnf file:
# vi /etc/my.cnf
Set new port 5123:
port=5123
Here is is my sample /etc/my.cnf file:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=5123
old_passwords=1
bind = 10.10.29.66
key_buffer = 500M
table_cache = 4000
sort_buffer_size = 3M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
max_connections = 400
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 100M

max_allowed_packet = 1M
thread_cache_size = 8

# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
local-infile=0

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
quick
max_allowed_packet = 16M

Save and close the file. Restart mysqld:
# service mysqld restart
Please note that once port changed, you need to update all your php, perl, python scripts including iptables scripts.

11 comment

  1. It would’ve been better if it had been a post on how to setup a different version of MySQL running on a different port.

    For example, I have MySQL 5.0.51b on mu Ubuntu box in the default location by sudo apt-get mysql.

    I now want to install MySQL 6 for testing purposes – yet at the same time for all users of my machine running on say, 3307.

    This way I could give the option to users to use both the stable and a dev version.

  2. Hi,

    I wish to set it to listen on port 80, or 443 but it wont start? Nothing is listening on those ports now. What could be wrong? I have heard it can have to do with services settings? Any ideas?

    Best regards – Jon

  3. Hi I have a problem for MySQL.

    I have MySQL (5.6, 64bit) installed in windows 7, also have mysql installed in virtualbox Ubuntu (v12). Without Windows MySQL installed, I can access Ubuntu MySQL locally or remotely by MySQL workbench. After Windows MySQl installed ( not started), I cannot connect to Ubuntu MySQL locally and remotely, even with different port numbers ( 3306 for windows and 5123 for Ubuntu).

    Any helps will be appreciated.

    Thanks!

  4. i was working on wamp server so the port for mysql 3306 is occupied by Wamp…i want nort to uninstall this…how can i resolve this.

  5. Now I am able to connect via 3306 and new port 1234 both.
    I want to disable port 3306 for mysql and keep running on 1234. How can I do that?

Leave a Comment