Авторизация  
pvpgate

Подключение к БД на другом сервере в скрипте NextPay

В теме 8 сообщений

Всем привет

У меня сервер с игрой и ее БД и сервер с сайтом - это разные сервера и даже разные хостинги.

В конфигах скрипта NextPay подключение к БД выглядит так:
$SQL_SERVER_ITEMS = array("host"=>"localhost", "db"=>"db_name", "login"=>"login", "pass"=>"pass");
Если я создаю MySql базу на хостинге сайта, то все замечательно подключается и работает.
Если же я указываю IP сервера с игровой БД, то при тестовой транзакции выдает ошибку:
Произошла ошибка при обработке запроса сервером продавца: ответ от сервера продавца: Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

Насколько я понимаю, доступ к БД разрешен только через SSH, при подключении Navicat в настройках я указывал localhost и порт 3306, а во вкладке SSH уже IP сервера и порт 22.

Собственно что мне в таком случае делать? в БД разбираюсь на уровне SQL запросов, не более. PHP вчера первый раз открыл, но очень хотелось бы разобраться самостоятельно

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, pvpgate сказал:

Всем привет

У меня сервер с игрой и ее БД и сервер с сайтом - это разные сервера и даже разные хостинги.

В конфигах скрипта NextPay подключение к БД выглядит так:
$SQL_SERVER_ITEMS = array("host"=>"localhost", "db"=>"db_name", "login"=>"login", "pass"=>"pass");
Если я создаю MySql базу на хостинге сайта, то все замечательно подключается и работает.
Если же я указываю IP сервера с игровой БД, то при тестовой транзакции выдает ошибку:
Произошла ошибка при обработке запроса сервером продавца: ответ от сервера продавца: Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

Насколько я понимаю, доступ к БД разрешен только через SSH, при подключении Navicat в настройках я указывал localhost и порт 3306, а во вкладке SSH уже IP сервера и порт 22.

Собственно что мне в таком случае делать? в БД разбираюсь на уровне SQL запросов, не более. PHP вчера первый раз открыл, но очень хотелось бы разобраться самостоятельно

 

Разрешите конект с адреса сайта до бд сервера.

Для начала отредактируйте файл - my.cnf 

Раскоментируйте это bind-address = 0.0.0.0

А уже в своей субд под root создайте отдельного пользователя с ip сайта с нужными вам правами.

Изменено пользователем california
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, california сказал:

Разрешите конект с адреса сайта до бд сервера.

Для начала отредактируйте файл - my.cnf 

Раскоментируйте это bind-address = 0.0.0.0

А уже в своей субд под root создайте отдельного пользователя с ip сайта с нужными вам правами.

Спасибо, а что с точки зрения безопасности?
Сейчас у меня bind_adress = 127.0.0.1
не зря же к базе закрыт доступ не по ssh?
А варианта настроить ssh подключение в скрипте NextPay нет?
Или я бред несу и это все бессмыслено? Я не шарю

Изменено пользователем pvpgate

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, pvpgate сказал:

Спасибо, а что с точки зрения безопасности?
Сейчас у меня bind_adress = localhost
не зря же к базе закрыт доступ не по ssh?
А варианта настроить ssh подключение в скрипте NextPay нет?
Или я бред несу и это все бессмыслено? Я не шарю

У вас сейчас ssh видимо, а если с точки зрения безопасности, выдавайте доступы исключительно на те адреса, которые вам нужны.

И все будет в порядке.

Изменено пользователем california
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 это порт sftp/ssh, mysql 3306 стандартный. Вам нужно к бд подключится удаленно, ГС здесь вообще не при чем. 

Проверьте открыт ли порт 3306 в фаерволле. Копайте в сторону настройки удаленного доступа mysql.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
22 минуты назад, california сказал:

У вас сейчас ssh видимо, а если с точки зрения безопасности, выдавайте доступы исключительно на те адреса, которые вам нужны.

И все будет в порядке.

да, ssh
Тогда еще 1 вопрос, если я bind_adress поставлю 0.0.0.0 , я:
1) смогу использовать старое подключение через SSH для доступа к базе?
2)не смогу подключаться (без SSH) с других IP, кроме тех для которых создам пользователей?

Изменено пользователем pvpgate

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете создать себе пользователей с правами,  для управления с домашней СУБД, можно и ssh туннель настроить. Все что угодно:) 

Изменено пользователем california
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
36 минут назад, california сказал:

Можете создать себе пользователей с правами,  для управления с домашней СУБД, можно и ssh туннель настроить. Все что угодно:) 

Большое спасибо, разобрался, настроил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

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