MySQL - Позволяет сетевые соединения с DB в CentOS 5

Экземпляр по умолчанию использует порт 1433. Именованные экземпляры будут использовать динамично согласованные порты (но может быть настроен для слушания на указанных портах - см. http://msdn.microsoft.com/en-us/library/ms177440.aspx).

Править:

По умолчанию, когда именованный экземпляр SQL Server запускается, он выбирает случайным образом неиспользуемый порт и регистры это с сервисом Браузера SQL. Клиенты отправляют запросы к тому сервису (порт UDP 1434) к retrive номер порта для экземпляра, который они пытаются соединить. Вы корректны в этом, число динамического порта останется тем же в течение единственного выполнения приведенного примера. Если Вы останавливаетесь / перезапускают тот экземпляр, тем не менее, номер порта изменится. Так, нет никакого "фиксированного" значения для динамического порта.

1
задан 27 July 2010 в 16:52
5 ответов

Хорошо! Спасибо за справку, людей. Просмотр Ваших комментариев заставил меня пробежаться через все с частым гребнем. Оказывается, что мое правило в iptables не было в корректном месте. Я переупорядочил свои правила, и это работало

1
ответ дан 3 December 2019 в 22:29

Прежде всего выполните что-то вроде этого для наблюдения то, что Вы имеете теперь:

 [root@cacti ~]# netstat -lnpt | grep `cat /var/run/mysqld/mysqld.pid `
 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2814/mysqld

Если Вы не видите строку как этот, проверьте, какие параметры командной строки передаются Вашему двоичному файлу путем выполнения чего-то вроде этого

 [root@cacti ~]# ps auxfwww | grep mysql
 root     12754  0.0  0.0  61200   728 pts/1    S+   10:46   0:00  |                   \_ grep mysql
 root      2767  0.0  0.0  65976  1064 ?        S    Jul12   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
 mysql     2814  2.1  0.8 348652 16848 ?        Sl   Jul12 464:20  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock

И наконец, покажите нам свои сетевые варианты от my.cnf. По умолчанию mysql свяжет с tcp 3306 на запуске, если Вы не скажете его не. Если Вы видите что-нибудь в [mysqld] раздел, связанный с сетями, Вы могли бы попытаться запуститься только с комментирования его.

Также это могло бы помочь проверить журнал. Не очень ясный, но это скажет Вам, если и когда это свяжет с портом на запуске как это

 [root@cacti ~]# grep port /var/log/mysqld.log
 Version: '5.0.45'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution
1
ответ дан 3 December 2019 в 22:29

SE-Linux отключен или хорошо настроен?

0
ответ дан 3 December 2019 в 22:29

Если это не iptables или mysql полномочия, и сервер слушает на сокете tcp (порт 3306) с, он - общедоступный IP-адрес, или с 0.0.0.0 затем я предполагаю все, что это оставляют, tcpwrapper.
Проверьте /var/log/auth.log (не уверенный, если это называют тем путем на CentOS), и Ваши/etc/hosts.allow/deny файлы.
Если/etc/hosts.deny имеет ALL:ALL (который Вы должны иметь), затем добавляют в/etc/hosts.allow:

mysqld: <удаленный IP-адрес>

0
ответ дан 3 December 2019 в 22:29

Кажется, что это - Ваши правила брандмауэра, если Вы связываетесь с routable интерфейсом, как Вы говорите. Обеспечьте вывод iptables-L-n.

0
ответ дан 3 December 2019 в 22:29

Теги

Похожие вопросы