mysql_connect () отлично работает на локальном хосте, но не при доступе к отдельному ip

0

Я работаю с моими администраторами системных систем, чтобы получить установку стека LAMP для меня. Мне нужно получить доступ к этому серверу с нескольких веб-сайтов, над которыми я работаю, и у меня возникают некоторые проблемы.

Итак, чтобы все было ясно:

URL-адрес сервера LAMP = http s://mysqlserver.edu

Школьный URL = http s://schoolsite.edu

Когда я запускаю mysql_connect() на сервере LAMP, он соединяется нормально:

mysql_connect ('localhost', 'user', 'password'); Отлично работает!

Однако, когда я запускаю mysql_connect() по URL-адресу школы, я не могу подключиться:

mysql_connect ('mysqlserver.edu', 'user', 'password');

Предупреждение: mysql_connect(): Неизвестный сервер MySQL MySQL "mysqlserver.edu" (1) в /home/content/x/x/x/xxx/html/testconnect.php в строке 3 Неизвестный сервер MySQL-сервера "mysqlserver.edu" (1)

Что мне нужно, чтобы попросить системного администратора сделать, чтобы мои скрипты PHP на внешних сайтах обращались к серверу MySQL?

Проблемы, связанные с SSL, возникают?

Я ценю любую информацию, которую вы могли бы предоставить.

  • 2
    удаленный сервер sql прослушивает порт 3306? Брандмауэр блокирует вас? .. https не имеет ничего общего с этим.
  • 0
    Ранее SysAdmin сказал, что сервер прослушивает порт по умолчанию 3306. Он упомянул, что существуют разные конфигурации брандмауэра в подсетях кампуса. Возможно ли, что брандмауэр не позволяет мне подключить мои сценарии PHP к серверу MySQL? Если это так, что мне нужно сделать, чтобы наши сетевые администраторы открыли порт и дали мне доступ? Спасибо! Джастин
Теги:
ssl

4 ответа

1

Неизвестный сервер MySQL-сервера, вероятно, означает, что ваш компьютер не может решить hostname mysqlserver.edu, вы пытались подключиться через IP-адрес?

После того, как вы убедитесь, что вы разрешаете имя, вам нужно преодолеть еще три препятствия:

  • брандмауэры, как показали другие,
  • Конфигурация сервера MySQL, которая должна разрешать удаленные подключения и
  • должен быть настроен пользователь, который может подключиться удаленно.
  • 0
    Неизвестный сервер MySQL 'mysqlserver.edu' говорит само за себя, ваш веб-сервис не может разрешить mysqlserver.edu
  • 0
    Когда я использую IP-адрес, вместо этого я получаю следующую ошибку: Предупреждение: mysql_connect (): не удается подключиться к серверу MySQL на «xxx.xxx.xxx.xx» (4) в / home / content / x / x / x /xxxxx/html/testconnect.php в строке 3 Не удается подключиться к серверу MySQL в «xxx.xxx.xxx.xx» (4) Добавление дополнительных сведений ... Мне нужно быть в локальной сети университета или использовать VPN для доступа к schoolite.edu . Я не осведомлен, чтобы знать, что это значит. Джастин
Показать ещё 1 комментарий
0

Включена опция "skip-name-resolve" в my.cnf?

0

Редко возникает подключение MySQL к публичной глобальной сети. Обычно требуется перехват LAN или два, но вы, как правило, не можете пересечь брандмауэр по соображениям безопасности. То есть входящие TCP-соединения на порт 3306 блокируются брандмауэром или шлюзом в локальной локальной сети, где находится mysqlserver.edu.

Канонический тест для этого:

$ telnet mysqlserver.edu 3306

Я могу предсказать, что это не сработает. ( "Работа" означает, что он сообщает "Подключен к..." и выводит некоторые тарабарщины.) У вас есть несколько вариантов:

  • запустить базу данных локально или, по крайней мере, поблизости. Я имею в виду, что это не стек LAMP, если у него нет MySQL.:-) Это то, что примерно каждый делает.
  • используйте какое-либо туннельное/VPN-решение для доступа через брандмауэр и к порту 3306
  • откройте 3306 на брандмауэре. Вы, вероятно, не получите сотрудничества по этому вопросу.
  • 0
    Привет Росс, спасибо за ваши мысли. И вам придется простить мою позицию по этому вопросу; Я PHP-разработчик, которому всегда предлагали мои среды на серебряном блюде. :) В идеале я буду запускать свои приложения локально в стеке LAMP. Тем не менее, университет только что решил использовать .Net CMS, которая размещается вне офиса. Наши ИТ-специалисты решили отделить мою среду LAMP от сервера, на котором работает CMS. Поэтому я не могу запускать свои php-скрипты локально. Джастин
0

Пользователь MySQL зависит от компьютера, к которому он имеет доступ. "root @localhost" - это не тот корень, что и "[email protected]". Поэтому вам нужно добавить пользователя с компьютера, к которому вы хотите получить доступ. Итак, скажем, компьютер, на котором обслуживается php script, - "192.168.156", вам нужно добавить пользователя "[email protected]" на сервер MySQL и не забудьте установить привилегию для этого пользователя на доступ к необходима база данных.

Надеюсь, что это поможет

  • 0
    но ошибка не выглядит как проблема с логином. Сначала следует подключиться к серверу sql
  • 2
    у него недостаточно места для входа в систему, он даже не подключен

Ещё вопросы

Сообщество Overcoder
Наверх
Меню