aspose file tools*
The moose likes JDBC and the fly likes MYSQL on IPV6 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "MYSQL on IPV6" Watch "MYSQL on IPV6" New topic
Author

MYSQL on IPV6

Pranav Raulkar
Ranch Hand

Joined: Apr 20, 2011
Posts: 73

Recently I had to access MYSQL installed on an IPV6 machine. I had already connected to an MSSQL server on an IPV6 machine. The JDBC URL for doing so was a bit different than normal. So I guessed the same applies for MYSQL.

I did a lot of googling and came to the following 2 formats

jdbc:mysql://[IPV6 ADDRESS]:PORT/DBNAME. Here [] doesnt represent optional, they are literally there,
and
jdbc:mysql://address=(host=IPV6 ADDRESS)(port=PORT)/DBNAME

None of them seem to work in my case. I decompiled the mysql-connector (latest 5.1.17) and found out that the splitting for host and port is being done by ':' so I can't understand how these format worked for some people.

After more googling I came to know that MYSQL 5.x server versions are not IPV6 ready, but 6.x server versions will have support.

Can anyone tell me for sure.
Is MYSQL 'SERVER' IPV6 ready?
If yes, from which versions onwards?
Is the MYSQL connector (jdbc driver) capable of IPV6 if the server supports it?

Thanks
Pranav Raulkar
Ranch Hand

Joined: Apr 20, 2011
Posts: 73

Pranav Raulkar wrote:Recently I had to access MYSQL installed on an IPV6 machine. I had already connected to an MSSQL server on an IPV6 machine. The JDBC URL for doing so was a bit different than normal. So I guessed the same applies for MYSQL.

I did a lot of googling and came to the following 2 formats

jdbc:mysql://[IPV6 ADDRESS]:PORT/DBNAME. Here [] doesnt represent optional, they are literally there,
and
jdbc:mysql://address=(host=IPV6 ADDRESS)(port=PORT)/DBNAME

None of them seem to work in my case. I decompiled the mysql-connector (latest 5.1.17) and found out that the splitting for host and port is being done by ':' so I can't understand how these format worked for some people.

After more googling I came to know that MYSQL 5.x server versions are not IPV6 ready, but 6.x server versions will have support.

Can anyone tell me for sure.
Is MYSQL 'SERVER' IPV6 ready?
If yes, from which versions onwards?
Is the MYSQL connector (jdbc driver) capable of IPV6 if the server supports it?

Thanks


Any pointers?
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16058
    
  21

I'm afraid the first pointer is "Please don't 'bump'". Since we don't get paid here, we should whenever it's convenient and bumping won't make us show up any faster. We do have enough activity here, however, that if anyone has an answer, you'll usually hear something within few days. Although sadly, even with the awesome massed expertise that we have here, some questions are beyond even us.

The first thing I'd worry about when using IPV6 to do a jdbc connection is whether or not the URL is properly formed. The ":" separator is potentially ambiguous with the URL standard for a port specification, so I'd expect the notation to be more like "jdbc:mysql://[12:34:56:78:9A:BC]:3306". However to actually know for certain, I'd have to RTFM.

The second thing I'd worry about is whether or not the server was actually configured to listen on IPV6. Often servers have the option to use IPV4, IPV6 or both, depending on settings.

Immediately following that, of course, would be to check and see if that particular IPv6 channel was being firewalled, since IPv6 firewall rules are distinct from IPv4 firewall rules and therefore just because IPv4 requests could be honored, that doesn't mean IPV6 will be.

However, truth be told, at the present time, I wouldn't be attempting to use IPV6 to contact a database. IPv6 has many advantages on the open Internet, but a lot of them don't matter when you're talking behind-the-DMZ activity. It's extremely unlikely that you'll have a need for 4 billion LAN IPs, the security should have already been in place, and since IPv6 headers are bigger than IPv4 headers, there's a possibility that you might get a slightly lighter load on the LAN using IPV4.

So unless someone has either got A) facts proving me wrong or B) made a Pompous Declaration, I'd stick to IPV4 on the database for the moment.


Customer surveys are for companies who didn't pay proper attention to begin with.
Pranav Raulkar
Ranch Hand

Joined: Apr 20, 2011
Posts: 73

First of all, not bumping. I know how things work here.
Secondly thanks for your reply.
Third to update... I found out that IPv6 on MYSQL is not supported on versions < 6. It is supported from version 6 on-wards from what I have read on their site. Correct me if I'm wrong.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: MYSQL on IPV6