安全地将 MS Access 数据库前端连接到 Web 主机上的 MySQL 后端?

Posted

技术标签:

【中文标题】安全地将 MS Access 数据库前端连接到 Web 主机上的 MySQL 后端?【英文标题】:Securely connect MS Access database front-end to MySQL back-end on web host? 【发布时间】:2011-02-01 07:42:51 【问题描述】:

我们有一个相当简单的 M$ Access 数据库,分为前端(表单、报告等)和后端(表格)。目前正在寻找一种方法,从一个桌面上获取包含所有关键数据的表,并希望将其放入我们 Web 主机上的 mysql 数据库,并能够从多台 PC 连接到它(仍然可能只有一两个人连接到它在任何给定的时间),并最终希望在时间允许的情况下迁移到 Web 应用程序。我读过的许多关于人们将 Access db 前端连接到 MySQL 后端的示例似乎暗示他们是在 LAN 上这样做的,可能在防火墙后面等。

当 mysql 服务器在远程 Web 主机上运行时,将 M$ Access 前端连接到 MySQL 后端是否安全? ODBC 连接器是否负责加密?

TIA,

蒙特

【问题讨论】:

为什么要这样做?在我看来,您描述的应用程序不是那种可以通过托管在 Web 服务器上或转换为 Web 应用程序而使 iota 受益的场景类型。 内部政治。这是一个非营利性俱乐部,目前的做事方式将重要数据(电子和其他)藏在个人的壁橱和地下室中,没有备份,无法抵御任何类型的自然灾害等。一个人得到生病或去世或只是以任何方式不满,该组织将丢失其所有数据。我宁愿把它放在更集中的位置(网络应用程序),如果我们愿意,除了本地副本外,它还由托管服务提供商定期备份,如果 A 人搬走或退出,B 或 C 人可以选择它起来走吧。 你有代码sn-p你是如何最终实现的。我还在寻找与 web 中的 mysql 数据库的连接。我正在使用 Access 2010 连接。我可以通过 ssh 隧道通过 putty 连接。但我不太了解 vba 以及如何对其进行编码。谢谢贾尼斯 对不起,我没有。我没有遵循这个特别的努力——主要是因为没有一个建议的解决方案对于进行数据输入的人来说足够简单。我目前正在寻找类似 TeamViewer 的东西来远程访问有问题的 PC(在路由器、NAT、防火墙等之后)以进行更新和/或“修复”事物。 【参考方案1】:

您可以使用 putty 将 ssh 隧道挂载到您的 mysql 服务器并将远程 mysql 端口重定向到您的机器。

使用 putty 非常简单:

将您的 mysql 服务器 dns 名称作为主机并转到“连接/SSH/隧道”,在“源端口”字段中定义要连接的本地端口(例如 3307)。 在“Destination”字段中,输入 mysql 服务器的 dns 名称,后跟一个冒号和 mysqld 正在运行的端口(例如 mysql.example.org:3306)。

将此保存为配置文件,然后连接,远程 mysql 端口将在本地端口 3307 上可用。

只要确保你限制了用户,因为默认情况下他会在服务器上有一个 ssh shell。 设置密钥身份验证也很实用,因为您无需输入密码即可连接到服务器(但请务必通过加密来保护磁盘上的密钥)。

编辑:mysql odbc 连接器似乎支持 ssl,你也可以使用它,但我个人还是会选择使用 SSH,因为你的 mysql 服务器上已经有了它。

【讨论】:

虽然这可能是“我”可能会完成的事情......我想知道它是否适合用于从未听说过 SSH 的一般非技术类型最终用户的东西、端口、隧道等。 putty-tunnel-manager: code.google.com/p/putty-tunnel-manager 内部我们使用嵌入在 Winform 应用程序中的 putty + ssh 键来显示菜单,让用户选择他们想连接到哪个服务器。

以上是关于安全地将 MS Access 数据库前端连接到 Web 主机上的 MySQL 后端?的主要内容,如果未能解决你的问题,请参考以下文章

从MS-Access连接到sql server而不创建DSN

如何安全地将 Backbone.js 应用程序连接到数据库?

如何让 ms-access 以其他用户身份连接到 ms-sql?

使用 MS Access 2003 连接到 SQL Server 2005

连接到 MS Access 数据库

使用 PyQt5 连接到 MS Access 数据库