Is this expected behavior?
Starting up the instance without extra_port set looks like this:
/etc/my.cnf
[mysqld]
thread_handling=pool-of-threads
excerpt from err.log
2014-08-25 13:06:57 31488 [Note] Server hostname (bind-address): ‘*’; port: 3306
2014-08-25 13:06:57 31488 [Note] IPv6 is available.
2014-08-25 13:06:57 31488 [Note] - ‘::’ resolves to ‘::’;
2014-08-25 13:06:57 31488 [Note] Server socket created on IP: ‘::’.
2014-08-25 13:06:57 31488 [Note] Event Scheduler: Loaded 0 events
2014-08-25 13:06:57 31488 [Note] /usr/sbin/mysqld: ready for connections.
Version: ‘5.6.19-67.0’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Percona Server (GPL), Release 67.0, Revision 618
If I add this to /etc/my.cnf after the thread_handling line:
extra_port = 3307
the excerpt from the log looks like this:
2014-08-25 13:06:05 31330 [Note] Server hostname (bind-address): ‘'; port: 3306
2014-08-25 13:06:05 31330 [Note] IPv6 is available.
2014-08-25 13:06:05 31330 [Note] - ‘::’ resolves to ‘::’;
2014-08-25 13:06:05 31330 [Note] Server socket created on IP: ‘::’.
2014-08-25 13:06:05 31330 [Note] Server hostname (bind-address): '’; port: 3306
2014-08-25 13:06:05 31330 [Note] IPv6 is available.
2014-08-25 13:06:05 31330 [Note] - ‘::’ resolves to ‘::’;
2014-08-25 13:06:05 31330 [Note] Server socket created on IP: ‘::’.
2014-08-25 13:06:05 31330 [ERROR] Can’t start server: Bind on TCP/IP port: Permission denied
2014-08-25 13:06:05 31330 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2014-08-25 13:06:05 31330 [ERROR] Aborting
However if I start the server manually with extra_port as a command line option, it appears to work.
mysqld_safe --extra_port=3307 &
ps -ef| grep my
root 31649 31002 0 13:20 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --extra_port=3307
mysql 31742 31649 3 13:20 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --extra-port=3307 --log-error=/var/lib/mysql/cmcgrail2014vm.localdomain.err --pid-file=/var/lib/mysql/cmcgrail2014vm.localdomain.pid
Here’s the excerpt from the log, with successful use of the extra_port:
2014-08-25 13:20:46 31742 [Note] Server hostname (bind-address): ‘'; port: 3306
2014-08-25 13:20:46 31742 [Note] IPv6 is available.
2014-08-25 13:20:46 31742 [Note] - ‘::’ resolves to ‘::’;
2014-08-25 13:20:46 31742 [Note] Server socket created on IP: ‘::’.
2014-08-25 13:20:46 31742 [Note] Server hostname (bind-address): '’; port: 3306
2014-08-25 13:20:46 31742 [Note] IPv6 is available.
2014-08-25 13:20:46 31742 [Note] - ‘::’ resolves to ‘::’;
2014-08-25 13:20:46 31742 [Note] Server socket created on IP: ‘::’.
2014-08-25 13:20:46 31742 [Note] Event Scheduler: Loaded 0 events
2014-08-25 13:20:46 31742 [Note] /usr/sbin/mysqld: ready for connections.
Version: ‘5.6.19-67.0’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Percona Server (GPL), Release 67.0, Revision 618
Logged in and checked that the runtime reflects the config.
mysql> show variables like ‘%extra%’;
±----------------------±------+
| Variable_name | Value |
±----------------------±------+
| extra_max_connections | 1 |
| extra_port | 3307 |
±----------------------±------+
2 rows in set (0.00 sec)
Confirmed I can connect on alternate port
$ mysql --port=3307 -h127.0.0.1 --protocol=tcp
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.19-67.0 Percona Server (GPL), Release 67.0, Revision 618
…