我想连接到我的客户远程数据库。
我能够使用命令建立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框架项目来从这个数据库中读取数据时,没有任何事情发生(即使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
我不知道出了什么问题。有什么想法吗?
答案 0 :(得分:0)
尝试稍微修改一下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).
希望有所帮助。
答案 1 :(得分:0)
不幸的是,这不是我的问题的解决方案。最后几天发现我的客户方面存在问题,我的命令一切都很好。