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 = 16MSave 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.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop











![[ERROR] /usr/local/libexec/mysqld: unknown variable ‘thread_concurrency=8′](http://s13.cyberciti.org/images/shared/rp/3/0.jpg)



{ 7 comments… read them below or add one }
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.
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
Did you restarted mysql service?
Well,
It will not start with the settings I have now
port = 443.
Any advice?
/jon
443 port is also used by HTTPS (secure web server). So try other port.
@Jon
To use this port you need root privileges.
try:
sudo /etc/init.d/mysql restart
I have port = 3306 under [client] and [mysqld]
what’s the difference? which should I change?