Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzazione di indirizzi IPv6 in MySQL

Che ne dici di:

BINARY(16)

Dovrebbe essere abbastanza efficace.

Attualmente non esiste alcuna funzione per convertire gli indirizzi IPv6 testuali da/in binario nel server MySQL, come indicato in quella segnalazione di bug. Devi farlo nella tua applicazione o eventualmente creare una UDF (funzione definita dall'utente) nel server MySQL per farlo.

AGGIORNAMENTO:

MySQL 5.6.3 supporta gli indirizzi IPv6, vedere quanto segue:"INET6_ATON(espr) ".

Il tipo di dati è VARBINARY(16) invece di BINARY(16) come ho suggerito prima. L'unico motivo è che le funzioni MySQL funzionano sia per gli indirizzi IPv6 che IPv4. BINARY(16) va bene per memorizzare solo indirizzi IPv6 e salva un byte. VARBINARY(16) deve essere utilizzato durante la gestione degli indirizzi IPv6 e IPv4.

Un'implementazione per le versioni precedenti di MySQL e MariaDB, vedere quanto segue:"ESTENDERE MYSQL 5 CON LE FUNZIONI IPV6 ".