通过 ssh 连接 mysql

Connect mysql via ssh

如何在 mysql 的 C++ 中通过 ssh 创建连接?

它应该像这样工作:

mysql -L -u <local database username> -h <database server ip address> -p

无论如何,我想从不在同一网络中的计算机创建到 mysql 数据库的连接,从而交换数据。

只是不明白我从mysql_real_connect();获取值应该怎么开始。

还有其他可行的方法吗?

这是一个使用 boost::process 的简单实现:

bp::child c(bp::search_path("ssh"), "-N", "-L", "23306:localhost:3306", "user@hostname);

您可以在 c 存活时连接到 localhost:23306。