Не удается подключиться к серверу MySQL через разные домены - PullRequest
0 голосов
/ 04 октября 2011

У меня проблема с подключением к серверу MySQL через два разных доверенных домена.
Мы разрабатываем приложение для внутреннего использования и используем MySQL до сих пор. Это настольное приложение, написанное на vb.net.
До сих пор все пользователи были в одном домене, и проблем не было. Совсем недавно по различным причинам было принято решение о разделении пользователей на 2 разных домена.
Проблема в том, что пользователи из нового домена не могут получить доступ к серверу. Если это поможет, мне сказали администраторы, что пользователям обоих доменов доверяют. Обе машины работают под управлением Windows Server - 2003 и 2008.
Порт сервера открыт, все разрешения предоставлены (base_class @%), но при попытке -

доступ запрещен для пользователя base_class @ datablock2.

В чем проблема?

Ответы [ 3 ]

1 голос
/ 04 октября 2011

IMO, это не задача разработки, это задача системного администратора и / или администратора БД. Поэтому разработайте тестовый пример с использованием MS Query и передайте его системным администраторам / администраторам баз данных, чтобы выяснить это. Пример: конфигурация ODBC и инструкция SQL для запуска через MS Query, которая должна (теоретически) работать и которая работала бы до разделения. Докажите, что это работает для пользователей из старого домена. Скажите им, чтобы вы знали, когда это работает для нового домена. В противном случае они будут продолжать обвинять ваше приложение VB.

1 голос
/ 04 октября 2011

Доступ запрещен означает, что клиенты подключаются, но не имеют соответствующих прав. Поэтому сконцентрируйтесь на правах grant для этих пользователей. Обратите внимание, что mysql использует * для подстановочных знаков в GRANT запросах, а не %, поэтому запрос на предоставление должен быть

GRANT ... ON database.* TO base_class@datablock2

Также обратите внимание, что если вы используете имена хостов (datablock2) в своих запросах на предоставление, вам потребуется правильно настроенная настройка DNS, чтобы MySQL мог обратный поиск подключающегося IP-адреса обратно к имени хоста. Имена хостов отсутствуют на уровне TCP / IP, а MySQL только когда-либо видит IP. Чтобы соответствовать именам хостов, необходимо выполнить обратный поиск. Если этот поиск не удастся, тогда он будет полностью отключен от IP.

0 голосов
/ 04 октября 2011

В MySQL разрешения предоставляются для каждого домена. То есть разрешения, предоставленные пользователю, подключающемуся из локального домена, не существуют для пользователя, подключающегося из другого домена. Один и тот же пользователь, подключающийся из другого домена, рассматривается как другой метод доступа. Причина в том, чтобы обеспечить защиту от неправильного использования. Например, я лично настраиваю свои серверы для предоставления потенциально опасных разрешений только пользователям, подключающимся с локального компьютера. Вы должны войти на серверный компьютер физически, чтобы удалить важные данные! Попробуйте предоставить разрешения серверу для каждого пользователя в каждом домене, с которого они будут входить. Не используйте джокеры вообще. Воспользуйтесь дополнительным уровнем безопасности, чтобы создать домен для администрирования и один для менее важных задач.

...