Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск по ip адресам / 7 сообщений из 7, страница 1 из 1
21.09.2014, 01:34:32
    #38752751
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
Доброе время суток.

IP адреса (как IPv4, так и IPv6) в таблице хранятся в виде структуры in_addr в поле типа VARBINARY(16).
Как вести поиск по этому полю? Например, найти адреса, начинающиеся с "10.23".
...
Рейтинг: 0 / 0
21.09.2014, 01:39:20
    #38752753
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
Используйте unsigned int для хранения адресов.
А искать потом так:
Код: sql
1.
WHERE INET_ATON('10.23.0.0') <= addr AND addr<INET_ATON('10.24.0.0')
...
Рейтинг: 0 / 0
21.09.2014, 01:53:20
    #38752759
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
Не подойдет для IPv6. И MySQL 5.5, где еще нет новых функций для этих целей.
...
Рейтинг: 0 / 0
21.09.2014, 01:59:12
    #38752761
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
i'm_novice,

Идея остается прежней - искать по диапазону.
Формально, можно искать и по маске, но так не получится применить индекс.
...
Рейтинг: 0 / 0
21.09.2014, 02:07:10
    #38752763
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
i'm_noviceНе подойдет для IPv6. И MySQL 5.5, где еще нет новых функций для этих целей.В следующей весии, в 5.6 есть INET6_ATON.
Как вариант, можно сделать реализацию INET6_ATON непосредственно в вызывающем запрос приложении.
...
Рейтинг: 0 / 0
21.09.2014, 02:20:49
    #38752764
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
miksoft,

К сожалению, не совсем понимаю идею с диапазоном в случа с IPv6. Он занимает 128 бит.
Как еще, кроме VARBINARY, его можно хранить в одном поле? И как по нему искать?

vkle,

Я это и имел в виду, что нет возможности использовать нативные функции, т.к. их нет в текущей установленной версии.
...
Рейтинг: 0 / 0
21.09.2014, 02:34:20
    #38752765
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по ip адресам
i'm_noviceК сожалению, не совсем понимаю идею с диапазоном в случа с IPv6. Он занимает 128 бит.
Как еще, кроме VARBINARY, его можно хранить в одном поле? И как по нему искать?Если нужно в одном поле хранить адреса обоих типов, то VARBINARY вполне подойдет.
Как искать - я уже написал выше. Только вычисление INET_ATON вынесите на клиента.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск по ip адресам / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]