Wie wäre es mit:
BINARY(16)
Das sollte effektiv genug sein.
Derzeit gibt es keine Funktion zum Konvertieren von textuellen IPv6-Adressen von/in binäre im MySQL-Server, wie in diesem Fehlerbericht erwähnt. Sie müssen dies entweder in Ihrer Anwendung tun oder möglicherweise eine UDF (User-Defined Function) auf dem MySQL-Server erstellen, um dies zu tun.
AKTUALISIERUNG:
MySQL 5.6.3 unterstützt IPv6-Adressen, siehe Folgendes:„INET6_ATON(expr) ".
Der Datentyp ist VARBINARY(16) statt BINARY(16) wie ich vorhin vorgeschlagen habe. Der einzige Grund dafür ist, dass die MySQL-Funktionen sowohl für IPv6- als auch für IPv4-Adressen funktionieren. BINARY(16) ist in Ordnung, um nur IPv6-Adressen zu speichern, und spart ein Byte. VARBINARY(16) sollte verwendet werden, wenn sowohl IPv6- als auch IPv4-Adressen verarbeitet werden.
Eine Implementierung für ältere Versionen von MySQL und MariaDB finden Sie unter:"MYSQL 5 MIT IPV6-FUNKTIONEN ERWEITERN ".