Yes, there is a very good, not so technical reason to only allow binding 
by IP Address.  Have you ever heard of "putting the cart before the horse" 
?

If binding by hostname were allowed, that would mean that every time your 
MySQL server started up, it would need to somehow resolve that name into 
an address. In order to do that, it needs a socket it can use to contact a 
DNS server in order to change the hostname back into an address. Where 
does it get the socket? Without a socket, it cannot contact a DNS server 
so it cannot resolve it's hostname to an address and it will not be able 
to bind to a socket.

Binding is the process of giving a socket (an address and a port) to an 
application so that it has a point of contact on the internet. Without a 
socket an application has no way to communicate over TCP/IP or UDP/IP as 
there would be nowhere for the return messages to land. That is the simple 
reason why you cannot bind to a hostname.

Did I make sense?

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

James Long <[EMAIL PROTECTED]> wrote on 02/27/2006 03:59:14 PM:

> > It doesn't allow to bind to a hostname.  According to
> > 
> > http://dev.mysql.com/doc/refman/5.0/en/server-options.html
> > 
> > you have to specify an IP address, not a hostname.
> > 
> > -Sheeri
> 
> Thanks for your reply.  Yes, I am aware of that, as stated in
> my question.
> 
> Wouldn't it be an improvement if it did, though?  Currently, I
> have to use an ugly grep/awk hack to grep the address out of
> /etc/hosts.  Are there technical reasons that make it difficult
> to write the code such that one could specify an IP or a hostname,
> or a list of IPs and/or hostnames?
> 
> I'm looking for something similar to PostgreSQL's:
> 
> -h hostname
>    Specifies the IP host name or address on which the postmaster is
>    to  listen  for TCP/IP connections from client applications. The
>    value can also be a space-separated list of addresses, or  *  to
>    specify  listening  on  all available interfaces. An empty value
>    specifies not listening on any IP addresses, in which case  only
>    Unix-domain  sockets  can  be used to connect to the postmaster.
>    Defaults to listening only on localhost.  Specifying this option
>    is  equivalent  to  setting  the  listen_addresses configuration
>    parameter.
> 
> 
> > 
> > On 2/22/06, James Long <[EMAIL PROTECTED]> wrote:
> > > I would like to be able to bind to a host name, rather than
> > > an IP number.  IP numbers come and go, and are beyond the
> > > control of anyone who doesn't have their own direct allocation.
> > > But since I own my domain, a host name is more permanent.
> > >
> > > When the time comes to change IP numbers, I want to just edit
> > > /etc/hosts to show my new IP:
> > >
> > > 10.0.0.10       shortname myrealname.example.com
> > >
> > > and use "--bind-address=shortname" in my start-up script to
> > > automatically pick up the new IP number.
> > >
> > > This eliminates the headache of having to find and fix umpteen
> > > literal IP numbers hiding in my startup scripts.  This is much
> > > the same reason one says '#define BLKSIZ 512' and then uses the
> > > constant 'BLKSIZ' instead of sprinkling literal '512's throughout
> > > one's code).
> > >
> > > Why doesn't bind-address allow this?  Or if it does, how can I
> > > accomplish this?
> > >
> > >
> > > Thanks!
> > >
> > >
> > > Jim
> > >
> > > --
> > > MySQL General Mailing List
> > > For list archives: http://lists.mysql.com/mysql
> > > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
> > >
> > >
> > 
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
> 

Reply via email to