URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 76980
[ Назад ]

Исходное сообщение
"MySQL проблемы удаленного доступа"

Отправлено Аноним , 24-Окт-07 01:20 
Добрый день!
Проблема следующая - на сервере поднял MySQL сервер, локально он пингуется

[root@localhost html]# mysqladmin --host=localhost --user=root --password=**** ping
mysqld is alive

В /etc/my.cnf добавил bind-address = IP

netstat -tap | grep mysql пишет, то есть типа как мы готовы принимать клиентов не только с localhost
tcp        0      0 78.110.52.247:mysql         *:*                         LISTEN      6177/mysqld

Но если с другого хоста пытаемся выполнить аналогичную операцию

mysqladmin --host=78.110.52.247 --user=root --password=**** ping

вылезает ошибка

error: 'Lost connection to MySQL server at 'reading initial communication packet', system error: 113'

подскажите пожалуйста, в чем проблема...


Содержание

Сообщения в этом обсуждении
"MySQL проблемы удаленного доступа"
Отправлено angra , 24-Окт-07 01:35 
>mysqladmin --host=78.110.52.247 --user=root --password=**** ping

А фаервола на пути нет? Что будет если попробовать на той же машине законнектится используя 78.110.52.247, а не localhost. Удается ли коннект клиентом mysql, а не mysqladmin?


"MySQL проблемы удаленного доступа"
Отправлено Vaso Petrovich , 24-Окт-07 08:01 
>А фаервола на пути нет? Что будет если попробовать на той же
>машине законнектится используя 78.110.52.247, а не localhost. Удается ли коннект клиентом
>mysql, а не mysqladmin?

пожалуй фаир не причем, там порт не стандартный у сервака, а вот чтобы клиенту это шепнули не видно


"MySQL проблемы удаленного доступа"
Отправлено angra , 25-Окт-07 10:24 
где вы увидели нестандартный порт?

"MySQL проблемы удаленного доступа"
Отправлено lavr , 25-Окт-07 10:36 
>где вы увидели нестандартный порт?

трудно LISTEN внимательно посмотреть?!



"MySQL проблемы удаленного доступа"
Отправлено angra , 26-Окт-07 09:29 
>>где вы увидели нестандартный порт?
>
>трудно LISTEN внимательно посмотреть?!

Дык как раз из него и видно - 78.110.52.247:mysql - стандартный порт. Если вас смущает число рядом с именем процесса, то это PID, а не порт


"MySQL проблемы удаленного доступа"
Отправлено lavr , 26-Окт-07 10:27 
>>>где вы увидели нестандартный порт?
>>
>>трудно LISTEN внимательно посмотреть?!
>
>Дык как раз из него и видно - 78.110.52.247:mysql - стандартный порт.
>Если вас смущает число рядом с именем процесса, то это PID,
>а не порт

linux'а нет под рукой, если действительно сидит на родном порту, то:

1) тупая проверка 3306/tcp с удаленной машины с которой нет доступа к мускулу:

# telnet mysql-server 3306
если поимеем тишину и отвал connect'а по таймауту - значит firewall
если получим типа: FHost 'host.domain' is not allowed to connect to this MySQL serverConnection - то GRANT'ы для host'ов как уже тут подсказывали
иначе получим connect и промпт

2) на самом mysql-server'е смотреть tcpdump'ом или любым сетевым монитором


"MySQL проблемы удаленного доступа"
Отправлено stakado , 24-Окт-07 16:47 
Как вариант решения проблемы - для начала выяснить доходят ли запросы на коннект к муску на сервер: tcpdump -ni [имя интерфейса, на который должен присылать запросы клиент]

"MySQL проблемы удаленного доступа"
Отправлено Александр , 24-Окт-07 18:07 
а попробуй добавить соответствующие права пользователям
как написано в разделе 4.3.5:

shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty"%"
        -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
    *

      monty

      Полноценный суперпользователь - он может подсоединяться к серверу откуда угодно, но должен использовать для этого пароль some_pass. Обратите внимание на то, что мы должны применить операторы GRANT как для monty@localhost, так и для monty@"%". Если не добавить запись с localhost, запись анонимного пользователя для localhost, которая создается при помощи mysql_install_db, будет иметь преимущество при подсоединении с локального компьютера, так как в ней указано более определенное значение для поля Host, и она расположена раньше в таблице user.
    *



"MySQL проблемы удаленного доступа"
Отправлено stakado , 26-Окт-07 14:33 
Ребят, у меня вот довольно часто возникает вопрос: с какой целью организован форум.опеннет.ру? Чтобы найти ответы на интересующие вопросы (в соотв. области) и самому помочь кому-нить или с целью померяться пиписьками?
Для каких целей этот форум существовал пару лет назад мне известно, для чего он существует сейчас стало менее понятно. Жаль.

А насчёт проблемы - вы бы решали её не с конца или середины, а с начала. Решать проблемы грантов или ещё чего я лично не вижу смысла, если запросы до сервера не доходят.

Как уже было описано выше сделать это можно с помощью tcpdump например:
tcpdump -ni [интерфейс на который должны приходить запросы от клиента] dst port 3306

Если запросы доходят, то дальше можно шерстить гранты и проч, а так можно промаяться долго, а окажется, что где-нить фаервол режет или ещё чё-нить.


"MySQL проблемы удаленного доступа"
Отправлено GloryS , 27-Окт-07 15:57 
>[оверквотинг удален]
>Но если с другого хоста пытаемся выполнить аналогичную операцию
>
>mysqladmin --host=78.110.52.247 --user=root --password=**** ping
>
>вылезает ошибка
>
>error: 'Lost connection to MySQL server at 'reading initial communication packet', system
>error: 113'
>
>подскажите пожалуйста, в чем проблема...

А система случайно не слакварь?
Глянь
grep skip-networking /etc/rc.d/*
Патрик любит это выносить из конфига в стартовый скрипт...:)))


"MySQL проблемы удаленного доступа"
Отправлено lynx , 18-Апр-08 10:54 
Нада просто писать не Айпи адрес сервера к которому коннектишься а имя хоста или fqdn


"MySQL проблемы удаленного доступа"
Отправлено gietos , 19-Сен-08 20:16 
отжег!!!)))

"MySQL проблемы удаленного доступа"
Отправлено D13 , 12-Дек-11 14:55 
> А система случайно не слакварь?
> Глянь
> grep skip-networking /etc/rc.d/*
> Патрик любит это выносить из конфига в стартовый скрипт...:)))

Спасибо ! Час бился, пока понял, что действительно блок в rc.mysqld