MySQL に IPv6 アドレスを保存する方法
質問:
MySQL には現在ネイティブ アドレスがありませんIPv6アドレスを保存する機能。 MySQL に IPv6 アドレスを保存する場合に推奨されるデータ型とアプローチは何ですか?
回答:
データ型: BINARY(16)
このデータ型はバイナリ データの保存に効率的であり、IPv6 アドレスに適しています。 128 ビットのバイナリ値。
関数:
MySQL 5.6.3 :
- INET6_ATON(expr) : テキスト形式の IPv6 アドレスをバイナリ形式に変換します。表現。
- INET6_NTOA(expr): バイナリ IPv6 アドレスをテキスト表現に変換します。
古い MySQL/MariaDB バージョンの場合:
- 独自の関数を作成して、テキスト表現とバイナリ表現の間で変換できます。 IPv6 アドレスの数。カスタム実装については、「IPV6 機能を使用した MYSQL 5 の拡張」の記事を参照してください。
ヒント:
- IPv6 のみを使用している場合BINARY(16) を使用すると、アドレスに比べて 1 バイトのストレージを節約できます。ヴァービナリー(16)。ただし、VARBINARY(16) はより汎用性が高く、IPv6 アドレスと IPv4 アドレスの両方と互換性があります。
- IP アドレスの操作を処理するには、アプリケーションでサードパーティのライブラリまたはモジュールを使用することを検討してください。
以上がMySQL に IPv6 アドレスを効率的に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。