C ++:与MySQL服务器通信并从MySQL服务器接收数据

时间:2012-02-16 03:46:41

标签: c++ mysql ssh popen

要么这个问题不经常被问到(可能),每个人都知道怎么做(可疑),或者我不知道如何搜索它(可能)。

我想让我的C ++程序与我的MySQL服务器通信并能够在其上运行命令。我知道MySQL有可用的连接器代码,但1)它看起来比我需要的要多得多,2)我似乎无法让它继续工作。

我希望能够在我的计算机上测试程序,因此需要远程访问。我确实有服务器的SSH。

我的最终部署将能够在服务器上运行。

从MySQL数据库执行和接收/解析输出非常容易。但是,我无法找出让我的程序执行此操作的方法。

我想我应该能够: 1. ssh进入Web服务器(带密码) 2.访问MySQL数据库 3.执行语句并检索其输出

我已经阅读了很多关于fork()和popen()的内容,但由于它们的只读或只写限制(除非我误解),我只是不知道该去哪里。显然,在将时间部署到服务器上时,我只需要取出SSH步骤。有人可以给我一些指示,或者这是不可能的(可疑)。

这是我们自己的专用服务器,所以我们有ssh和WHM的完全统治,但我宁愿最小化“入侵”,因为如果我打破了某些东西,我对那里的所有软件都知之甚少。我只是想[直接]与MySQL数据库进行沟通。

非常感谢!你们真棒!

1 个答案:

答案 0 :(得分:0)

如果你有SSH访问权限,那么你方式过于复杂了。

步骤1:设置SSH隧道:

ssh -L 3306:localhost:3306 user@your.host.com

步骤2:像正常一样使用本地端口(即仅参考localhost)

mysql -u root -p < somescript.sql

但是,由于您使用的是C ++,因此您应该使用适当的库(例如MySQL++)。在SSH tunnels上教育自己,一旦你了解它们,它们就会让生活变得更加轻松。