Bug #28516 64-bit version fails to bind a tcp socket if bind-address is the hostname
Submitted: 18 May 2007 12:58 Modified: 5 Dec 2007 18:56
Reporter: Edda Hochstrate Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.0.41 OS:Solaris
Assigned to: Assigned Account CPU Architecture:Any

[18 May 2007 12:58] Edda Hochstrate
Description:
mysqld64 on Solaris 9 fails to bind the tcp socket if we configure the hostname as bind-address in /etc/my.cnf:
---
bind-address=mysql-test
---

Error messages:
---
070518 14:18:21 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
070518 14:18:21 [ERROR] Do you already have another mysqld server running on port: 3306 ?
070518 14:18:21 [ERROR] Aborting
---

Truss says:
---
[...]
17087/1:        so_socket(PF_INET, SOCK_STREAM, IPPROTO_IP, "", 1) = 16
17087/1:        setsockopt(16, SOL_SOCKET, SO_REUSEADDR, 0xFFFFFFFF7FFFF89C, 4, 1) = 0
17087/1:        bind(16, 0xFFFFFFFF7FFFF88C, 16, 3)             Err#126 EADDRNOTAVAIL
---

On the same machine the
32-bit version works with ip or hostname and the
64-bit version works with bind-address=ip number

How to repeat:
Configure bind-address=hostname and try to start the 64-bit version on Solaris 9.
[8 Jun 2007 12:16] Sveta Smirnova
Thank you for the report.

Verified as described.
[21 Jul 2007 1:53] Adonis Villarosa
Hi, 

Any update on this bug? I am trying to run this on sun cluster.

Regards,

Don
[3 Dec 2007 18:22] Sveta Smirnova
Bug #30421 was marked as duplicate of this one.
[18 Dec 2007 18:22] Timothy Smith
Suggested workaround is to use bind-address=<ip address> on 64-bit solaris.
[27 Apr 2009 23:31] Michael Smith
This problem (still/additionally) exists on 32-bit Ubuntu (9.04) and MySQL 5.0.75:

mcsmith@simon:~$ mysql --version
mysql  Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (i486) using readline 5.2
mcsmith@simon:~$ uname -a
Linux simon 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux
mcsmith@simon:~$ grep "mysqld" /var/log/syslog
Apr 27 15:10:56 simon mysqld[2319]: 090427 15:10:56  InnoDB: Started; log sequence number 0 622708
Apr 27 15:10:56 simon mysqld[2319]: 090427 15:10:56 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
Apr 27 15:10:56 simon mysqld[2319]: 090427 15:10:56 [ERROR] Do you already have another mysqld server running on port: 3306 ?
Apr 27 15:10:56 simon mysqld[2319]: 090427 15:10:56 [ERROR] Aborting
Apr 27 15:10:56 simon mysqld[2319]: 
Apr 27 15:10:56 simon mysqld[2319]: 090427 15:10:56  InnoDB: Starting shutdown...
Apr 27 15:10:58 simon mysqld[2319]: 090427 15:10:58  InnoDB: Shutdown completed; log sequence number 0 622708
Apr 27 15:10:58 simon mysqld[2319]: 090427 15:10:58 [Note] /usr/sbin/mysqld: Shutdown complete
Apr 27 15:10:58 simon mysqld[2319]: 
Apr 27 15:10:58 simon mysqld_safe[2339]: ended

Issuing a /etc/init.d/mysql restart gets the daemon running.
[4 May 2009 17:33] MySQL Verification Team
This bug is verified for Solaris only,  Linux (32bit or 64bit) does not reproduce this behavior.
[29 May 2010 21:30] MySQL Verification Team
Added CSC #47975