如何通过 php 网站远程连接到 SQL 服务器
How to remote connect to SQL server via php website
我有一个 laravel 网站和一个 MySQL 数据库。
我的网站用户很少,任何用户的计算机上都有一个SQL数据库,并且该数据库具有相同的名称、相同的密码和相同的配置。
现在我希望我的用户登录到我的网站并通过网站信息更改他计算机上的 SQL 数据库。
我该怎么做?
如何通过我的网站连接到用户计算机上的任何 SQL 数据库?
您问题的直接答案是,如果您知道用户计算机的详细信息,则可以在配置文件中为他们创建连接字符串,并使用这些连接在 MySQL 上打开会话客户端计算机 - 请参阅 https://laravel.com/docs/5.5/database,部分 "Using Multiple Database Connections"。
这假定所有机器都可以从您的服务器访问 - 大概是因为它们位于同一本地、无法访问 Internet 的网络上。
如果您用户的机器可以从 Internet 访问,请不要这样做 - 它们会被黑客攻击。是"when"的问题,不是"if"的问题。
从应用程序体系结构的角度来看,这也是一个非常糟糕的解决方案 - 假设用户计算机上的数据库期望数据库的某些事情是真实的,而您的应用程序必须保证所有这些事情。例如,您的应用程序可能期望 "all orders have a valid customer; all customers have a valid country code"。这在单个数据库上很难保证,但在分布式系统上,这真的很难。
在这种情况下使用 MySQL replication 会更好。
我有一个 laravel 网站和一个 MySQL 数据库。
我的网站用户很少,任何用户的计算机上都有一个SQL数据库,并且该数据库具有相同的名称、相同的密码和相同的配置。
现在我希望我的用户登录到我的网站并通过网站信息更改他计算机上的 SQL 数据库。
我该怎么做? 如何通过我的网站连接到用户计算机上的任何 SQL 数据库?
您问题的直接答案是,如果您知道用户计算机的详细信息,则可以在配置文件中为他们创建连接字符串,并使用这些连接在 MySQL 上打开会话客户端计算机 - 请参阅 https://laravel.com/docs/5.5/database,部分 "Using Multiple Database Connections"。
这假定所有机器都可以从您的服务器访问 - 大概是因为它们位于同一本地、无法访问 Internet 的网络上。
如果您用户的机器可以从 Internet 访问,请不要这样做 - 它们会被黑客攻击。是"when"的问题,不是"if"的问题。
从应用程序体系结构的角度来看,这也是一个非常糟糕的解决方案 - 假设用户计算机上的数据库期望数据库的某些事情是真实的,而您的应用程序必须保证所有这些事情。例如,您的应用程序可能期望 "all orders have a valid customer; all customers have a valid country code"。这在单个数据库上很难保证,但在分布式系统上,这真的很难。
在这种情况下使用 MySQL replication 会更好。