Добрый день!
Проблема следующая - на сервере поднял 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'
подскажите пожалуйста, в чем проблема...
>mysqladmin --host=78.110.52.247 --user=root --password=**** pingА фаервола на пути нет? Что будет если попробовать на той же машине законнектится используя 78.110.52.247, а не localhost. Удается ли коннект клиентом mysql, а не mysqladmin?
>А фаервола на пути нет? Что будет если попробовать на той же
>машине законнектится используя 78.110.52.247, а не localhost. Удается ли коннект клиентом
>mysql, а не mysqladmin?пожалуй фаир не причем, там порт не стандартный у сервака, а вот чтобы клиенту это шепнули не видно
где вы увидели нестандартный порт?
>где вы увидели нестандартный порт?трудно LISTEN внимательно посмотреть?!
>>где вы увидели нестандартный порт?
>
>трудно LISTEN внимательно посмотреть?!Дык как раз из него и видно - 78.110.52.247:mysql - стандартный порт. Если вас смущает число рядом с именем процесса, то это PID, а не порт
>>>где вы увидели нестандартный порт?
>>
>>трудно 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'ом или любым сетевым монитором
Как вариант решения проблемы - для начала выяснить доходят ли запросы на коннект к муску на сервер: tcpdump -ni [имя интерфейса, на который должен присылать запросы клиент]
а попробуй добавить соответствующие права пользователям
как написано в разделе 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.
*
Ребят, у меня вот довольно часто возникает вопрос: с какой целью организован форум.опеннет.ру? Чтобы найти ответы на интересующие вопросы (в соотв. области) и самому помочь кому-нить или с целью померяться пиписьками?
Для каких целей этот форум существовал пару лет назад мне известно, для чего он существует сейчас стало менее понятно. Жаль.А насчёт проблемы - вы бы решали её не с конца или середины, а с начала. Решать проблемы грантов или ещё чего я лично не вижу смысла, если запросы до сервера не доходят.
Как уже было описано выше сделать это можно с помощью tcpdump например:
tcpdump -ni [интерфейс на который должны приходить запросы от клиента] dst port 3306Если запросы доходят, то дальше можно шерстить гранты и проч, а так можно промаяться долго, а окажется, что где-нить фаервол режет или ещё чё-нить.
>[оверквотинг удален]
>Но если с другого хоста пытаемся выполнить аналогичную операцию
>
>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/*
Патрик любит это выносить из конфига в стартовый скрипт...:)))
Нада просто писать не Айпи адрес сервера к которому коннектишься а имя хоста или fqdn
отжег!!!)))
> А система случайно не слакварь?
> Глянь
> grep skip-networking /etc/rc.d/*
> Патрик любит это выносить из конфига в стартовый скрипт...:)))Спасибо ! Час бился, пока понял, что действительно блок в rc.mysqld