Я хочу подключиться к удаленной базе данных моего клиента.
Я могу установить туннель SSH с помощью команды:
ssh -vvv -i path_to_private_key -L 3308:127.0.0.1:3307 ssh_user@ssh_host
и подключиться к его базе данных с помощью:
mysql -u database_user -p -h 127.0.0.1 -P 3308
Но когда я хочу настроить свой проект Zend Framework для чтения данных из этой базы данных, ничего не происходит (даже в журналах ошибок apache2 нет журналов)
Ниже мои конфигурации из файла application.ini:
resources.db.adapter = "mysqli"resources.db.params.host = 127.0.0.1
resources.db.params.port = 3308
resources.db.params.dbname = database_name
resources.db.params.username = database_user
resources.db.params.password = database_password
resources.db.params.profiler = false
Я понятия не имею, что может быть не так. Есть идеи?
Попробуйте это с небольшим изменением вашей команды ssh.
ssh -N -L -i path_to_private_key 3307:mysqlhost:3306 ssh-user@ssh-host
Где 3307 — ваш локальный порт, а mysqlhost — хост mysql, к которому вы подключаетесь, а не localhost. Теперь ваш конфиг должен выглядеть так:
resources.db.adapter = "mysqli"resources.db.params.host = 127.0.0.1
resources.db.params.port = 3307
resources.db.params.dbname = database_name
resources.db.params.username = database_user
resources.db.params.password = database_password
Для справки из руководства:
-N Do not execute a remote command. This is useful for just forwarding ports (pro-
tocol version 2 only).
Надеюсь, это поможет.
К сожалению, это не решение моей проблемы. В последние дни оказалось, что это была проблема со стороны моего клиента, с моей командой все было хорошо.