2011-02-07 3 views
2

У меня есть удаленная база данных, с которой я хочу подключиться с PHP, работающим локально. База данных не позволяет удаленные подключения, так что обычно я использую SSH в поле и использую его из командной строки, но это не долгосрочные решения.Подключитесь к удаленной базе данных MySQL с помощью PHP с использованием SSH

У меня есть доступ к SSH, у меня есть доступ к MySQL, когда я подключен к SSH, но я не знаю, как получить PHP в этот рабочий процесс. Если бы я мог сделать эту работу в MAMP, это тоже было бы здорово.

+0

Я потратил часы, пытаясь понять это и, наконец, сделал: http://stackoverflow.com/questions/464317/connect-to-a- mysql-server-over-ssh-in-php # comment65229024_16138417 – Ryan

ответ

0

Вы можете настроить SSH туннель, а затем указать код подключения PHP к локальному порту, который переадресован через туннель. В Windows вы можете использовать putty; для Mac будут аналогичные решения.

0

Если это для разработки, предлагаемое решение alex - это путь; настроить ssh-tunnel.

Туннель перенаправляет ваши 127.0.0.1:3306-треки на удаленный компьютер. Удаленная машина также будет верить, что запросы будут получены от 127.0.0.1 (локально).

Однако у вас могут возникнуть проблемы, если ваш сервер (общий хост? Укажите, пожалуйста, укажите) не позволяет mysql-соединениям с 127.0.0.1 (обычно допускается только локальный хост). В них крошечная разница, и это будет препятствовать проникновению туннеля в удаленный mysqld.

Просто выполните туннелирование Google, настройте его и используйте 127.0.0.1 из ваших строк php-соединения.

С уважением,

// т

1

Для разработки или тестирования, вы можете использовать SSH команду для настройки туннеля первый, а затем получить доступ к удаленной базе данных, как локальный. Этапы:

1) установочный туннель с командой ssh. Формат команды: ssh -L [local port]: 127.0.0.1: [удаленный порт mysql, по умолчанию - 3306] [пользователь] @ [удаленный сервер mysql ip]. Образец: SSH -L 3307: 127.0.0.1: 3306 [email protected]

2) держать окно командной строки живого

3) Вы можете получить доступ к удаленной базе данных с помощью тузда строки: MySQLi: // [ пользователь]: [пароль] @ 127.0.0.1: 3307/[имя базы данных]

Смежные вопросы