SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.09.2007 15:16:53

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Имя хоста в домене

база MySQL установлена на сервере входящем в домен name.local При попытке подключения к серверу с пользователем test и разрешенным именем хоста %.name.local выдается сообщение "Access denied for user 'test'@'LAMP' (using password: YES)". Если разрешенное имя хоста установить lamp то все соединяется нормально. Почему MySQL определяет NetBIOS имя компьютера, а не полное доменное имя?

Неактивен

 

#2 24.09.2007 22:46:50

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Имя хоста в домене

Имя определяется любым доступным способом. К NetBIOS, разумеется, это не
имеет никакого отношения, просто короткое название может быть прописано в
/etc/hosts или образовываться через полное dns-имя минус домен по-умолчанию
в /etc/resolv.conf.

Если сомневаетесь, лучше писать IP-адрес.

Неактивен

 

#3 25.09.2007 09:40:34

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Re: Имя хоста в домене

IP адреса я пробовал указывать сервер пишет "Access denied"

Неактивен

 

#4 25.09.2007 12:27:05

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Имя хоста в домене

Локальное подключение по UNIX socket всегда определяется как @localhost,
в остальном - IP должны работать правильно.

Приведите конкретный пример адресов, GRANT на него.

Неактивен

 

#5 26.09.2007 09:12:43

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Re: Имя хоста в домене

пользователя добавляю так:

>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
>ON *.*
>TO test@name.local
>IDENTIFIED BY 'test'

или

>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
>ON *.*
>TO test@'192.168.0.0/255.255.255.0'
>IDENTIFIED BY 'test'

Неактивен

 

#6 26.09.2007 11:34:20

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Имя хоста в домене

Второе должно разрешать соединение с удаленных машинок. Если,
разумеется, сервер слушает TCP/IP на этом интерфейсе.

Попробуйте '192.168.0.%'. Это то же самое, но пишется чуть проще.

Неактивен

 

#7 26.09.2007 15:31:55

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Re: Имя хоста в домене

создал двух пользователей:

1: user - 192.168.0.%
2: dev - 192.168.0.210

Второго пользователя база пускает только с адреса 192.168.0.210, что правильно, а первого пользователя пускают со всех компьютеров, кроме компьютера с адресом 192.168.0.210... это почему?

И почему всетаки не получается с доменами и доменными именами?

Неактивен

 

#8 26.09.2007 15:41:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Имя хоста в домене

Причины может быть две:
1. 210 - это машинка, на которой крутится mysqld. Тогда @localhost.
2. Есть учетная запись user@..210 с другими правами.

С доменом - нужно, чтобы правильно работал обратный резолв.
Конкретно - все зависит от того, что вернет gethostbyaddr().
Проверяйте настройку Вашего сервера.

Неактивен

 

#9 26.09.2007 16:59:49

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Re: Имя хоста в домене

база стоит на 192.168.0.1, учетной записи user с другими правами нет.

в моем случае получаеться, что DNS некорректно работает? gethostbyaddr() проверю напишу, что возвращает

Неактивен

 

#10 27.09.2007 12:43:08

Lamp
Участник
Зарегистрирован: 24.09.2007
Сообщений: 6

Re: Имя хоста в домене

gethostbyaddr() возвращает полное доменное имя (lamp.name.local)

Неактивен

 

#11 27.09.2007 14:34:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Имя хоста в домене

Проверьте еще раз права. Лучше - удалите пользователя и добавьте еще раз.

Код:

Машинка с сервером:
root@localhost mysql > grant select on *.* to test@'%.domainname' identified by 'test';
Query OK, 0 rows affected (0.00 sec)

Удаленная машинка в domainname:
$ mysql -h mysqlhost -utest -ptest
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 275
Server version: 5.0.32-Debian_7etch1 Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

test (none) > show grants;

+-----------------------------------------------------------------------------------------------------------------+
| Grants for test@%.yandex.ru                                                                                     |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'test'@'%.domainname' IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' | 
+-----------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson