Страница 1 из 2

MySQL - открыть доступ для IP

Добавлено: 2011-07-18 13:17:30
icb
Хочу разрешить доступ к MySQL серверу с другого IP (не локалхост).
При создании пользователя указываю ему host = localhost
Далее в табличке mysql.host указываю: host = ip, db = %
Но подключиться не удается :(
Как сделать правильно?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-18 13:52:02
Bayerische
Из клиента пробуйте

Код: Выделить всё

GRANT ALL PRIVILEGES ON *.* TO 'user'@'host' IDENTIFIED BY 'password';

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-18 15:19:18
icb
Это выдача прав для конкретного пользователя и хоста.
Мне надо разрешить доступ кроме localhost с еще одного IP (для всех пользователей и БД).

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-18 19:49:48
Gamerman
Либо делаете доступ для всех пользователей с єтого адреса либо фаервол.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-18 19:50:11
FiL
1. фаервол не режет подключения?
2. просто включение хоста в mysql.host ничего не даёт. Читай тут - http://dev.mysql.com/doc/refman/5.0/en/ ... ccess.html
Только вместе с таблицей mysql.db.

Деталяй задачи я не знаю, но я-бы сказал не выпендриваться и просто дать всем нужным пользователям право подсоединяться с нужного хоста отдельно. через grant.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-18 19:52:52
Bayerische
А может... через NFS + сокет намудрить?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-21 10:17:39
icb
1. фаервол не режет подключения?
Нет фаевола, т.е. не режет.
2. просто включение хоста в mysql.host ничего не даёт. Читай тут - http://dev.mysql.com/doc/refman/5.0/en/ ... ccess.html
Только вместе с таблицей mysql.db.
Читал. Описан практически мой случай, но для прав на базы:
A blank Host value in the db table means “consult the host table for further information” (a process that is described later in this section).
Пробовал делать поле Host пустое в таблице user, но оно похоже трактуется как any host :(
Деталяй задачи я не знаю, но я-бы сказал не выпендриваться и просто дать всем нужным пользователям право подсоединяться с нужного хоста отдельно. через grant.
Через грант получается надо выдавать разрешение отдельно каждому пользователю. И при добавлении пользователя тоже получается дополнительное действие. А хочет один раз сказать что разрешен не только localhost, но и IP и больше не возвращаться к этому.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-21 11:15:21
Gamerman
Один раз настройте фаервол и больше не возвращайтесь к этому

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-21 14:49:28
icb
Один раз настройте фаервол и больше не возвращайтесь к этому
Зачем сначала разрешить все соединения, а потом бороться с последствиями (закрывая файрволом)?
Гораздо правильнее указать MySQL допустимые IP.

При создании/редактирования пользователя через phpMyAdmin в графе Host есть выбор Use Host Table, т.е. возможность такая есть.
Как ее заставить рабоать?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-21 16:58:53
Gamerman
А это и формирует запрос типа

Код: Выделить всё

GRANT ALL PRIVILEGES ON databasename.* TO username@"hostname"... 

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-21 22:38:00
FiL
icb писал(а): Читал. Описан практически мой случай, но для прав на базы:
A blank Host value in the db table means “consult the host table for further information” (a process that is described later in this section).
Пробовал делать поле Host пустое в таблице user, но оно похоже трактуется как any host :(
При чем тут таблица user? Что в таблице db?

А вообще не проще было-бы дать обоим серверам хостнеймы вида sqlclient1.company.com и sqlclient2.company.com и задать поле хоста у всех юзеров в виде @'sqlclient_.company.com' и не мучать себя странными задачами?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-22 9:06:59
icb
При чем тут таблица user? Что в таблице db?
При чем тут таблица db? Мне надо дать права на соединения с IP для пользователей, а не БД.
Информация в таблице db проверяется после корректной проверки в таблице user.
не мучать себя странными задачами?
Задача вполне обычная - хочу использовать phpMyAdmin на отдельном сервере, но не дублировать для этого сервера всех пользователей.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-22 10:27:58
hedgehog
1. пользователь в мускуле имеет имя user@host. если хотите, чтобы пользователь подключался с любого хоста, то вместо host - символ % (icb@localhost & icb@10.0.0.1 два разных пользователя по сути)
2. если пользователь добавляется/редактируется не посредством GRANT, необходимо выполнить FLUSH PRIVILEGES;
3. а еще в my.cnf может присутствовать переменная skip-networking в разделе [mysqld], которая заставляет мусукль слушать свой порт только на локалхосте

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-22 10:40:45
icb
2 hedgehog
Я все это прекрасно знаю. То что я хочу описано в документации (к сожалению старой) как штатная возможность. В новой документации упоминания о подобной возможности удалены. И похоже MySQL в разных версиях реагирует на поле Host по разному. Похоже это баг :(
1. пользователь в мускуле имеет имя user@host. если хотите, чтобы пользователь подключался с любого хоста, то вместо host - символ % (icb@localhost & icb@10.0.0.1 два разных пользователя по сути)
Вот не надо мне 2 пользователя. Мне надо одному пользователю разрешить соединения с разных IP? Зачем мне для этого дублировать пользователей?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-22 20:06:15
FiL
icb писал(а):
При чем тут таблица user? Что в таблице db?
При чем тут таблица db? Мне надо дать права на соединения с IP для пользователей, а не БД.
Информация в таблице db проверяется после корректной проверки в таблице user.
При том, что таблица host проверяется исключительно в паре с таблицей db.
И таки права не-административных юзверей прописаны скорее там, чем в user. И потому править ту таблицу по-любому придется.

P.S. А как решить проблему с разными хостами я уже написал. _ и % тебе в помощь.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-25 11:43:07
Bayerische
Кстати, а как на сурьёзных хостингах делается, где сервер БД отдельный?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-25 12:49:31
Gamerman
Bayerische писал(а):Кстати, а как на сурьёзных хостингах делается, где сервер БД отдельный?
Что именно?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-25 12:59:03
Bayerische
Вот именно это, когда к базе надо обращаться на другой IP. Обычно для скриптов это дело прозрачно, на сколько заню, т.е. якобы, локалхост.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-25 13:01:26
Gamerman
Думаю, что средствами мускуля и реализовано.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-07-28 5:17:06
FiL
Bayerische писал(а):Кстати, а как на сурьёзных хостингах делается, где сервер БД отдельный?
а там доступ все равно только с одного IP.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-09-04 13:30:49
vadim64
ТС может прислать ссылку нато место в старой доке, где описан нужный ему функционал, так вероломно выкинутый тупыми разрабами в новых версиях?
допустимо приатачить файл к теме, если вдруг дока такая козырная, что нигде в инете её нету, а есть только у вас на харде

Re: MySQL - открыть доступ для IP

Добавлено: 2011-09-14 9:29:12
icb
vadim64
Зачем мне что-то вам доказывать? Уже всем понятно, что вы бегаете по темам и пытаетесь потроллить везде.
Я уже понял, что на этом форуме люди такую задачу не решали и спокойно задал вопрос на другом форуме. Выяснилось наличие бага в MySQL. Т.к. задачу пока сняли, дальше не занимался, но возможно придется вернуться к решению этого вопроса.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-09-14 9:54:54
vadim64
ой, ну извините пожалуйста
может вы соизволите дать ссылку на тред в другом форуме где вы общались с настоящими профи?

Re: MySQL - открыть доступ для IP

Добавлено: 2011-09-14 10:21:33
icb
Зачем? У меня нет желания вам что-то доказывать.

Re: MySQL - открыть доступ для IP

Добавлено: 2011-09-14 11:58:31
Gamerman
Так какое в итоге решение?