是否可以从我的网站获取数据,这些数据在我的系统中的简单 mysql 数据库中存在?
Posted
技术标签:
【中文标题】是否可以从我的网站获取数据,这些数据在我的系统中的简单 mysql 数据库中存在?【英文标题】:Is it possible to fetch data from my website which is live to the simple mysql database in my system? 【发布时间】:2021-02-22 16:59:35 【问题描述】:假设我网站的用户在我的网站上上传了一个 pdf,该网站在互联网上直播。那么有没有办法让那些上传后的文件直接存储在我系统(笔记本电脑)上的mysql数据库中。
为了进一步完善,在他的本地系统(localhost)或实时网站上使用 mySql 数据库来存储数据是否重要? ,如果网站是在线托管的,数据库是否会无法存储数据?
如果任何人都不清楚这个问题,请提及。
谢谢。
【问题讨论】:
【参考方案1】:您的问题有很多细微差别,我会尽量解决其中的问题。
我不会将文件直接存储在数据库中。您当然可以,但总的来说,将文件作为文件存储在文件系统中可以获得更好的性能和其他辅助好处。在数据库中存储元数据,至少包括磁盘上的文件名和路径(也许你想存储更多,比如上传者的帐户信息、大小、长文本描述等,但至少要存储路径和文件名)。然后,在您的应用程序中,从数据库中获取文件名并提供文件而不是数据库 BLOB。一个原因是,如果您没有正确执行此操作,MySQL 的性能可能会受到影响。
假设您决定无视我的建议并将文件作为一些 BLOB 数据存储在您的数据库中,您如何将其复制到您的笔记本电脑?您的笔记本电脑不会一直打开电源并连接到互联网,无论如何,即使您家中有一台每天 24 小时运行的服务器,您的托管服务提供商仍然应该比您家有更好的正常运行时间。如果您在笔记本电脑上托管数据库,但笔记本电脑已关闭(或重新启动以进行系统更新),上传会发生什么情况?因此,您应该在托管服务提供商处托管数据库,并以某种方式将其同步到您的本地计算机。 MySQL为此提供了几种方法; .sql 文件的复制、导出和导入,或导出二进制日志。这些都有权衡,您需要根据自己的需要考虑。
但还记得我说过您可以通过将文件直接存储在文件系统上获得其他辅助好处吗?其中之一是您可以依靠文件传输技术将文件传输到本地计算机。 SFTP、SCP、SyncThing、WebDAV 以及您可以想象的任何其他传输文件的方式都可用于将远程文件获取到本地系统。您不会自动获取数据库元数据,但这似乎对您的问题没有太大要求,因此您可以轻松访问已上传的文件,只要您愿意。
因此,有很多方法可以实现这一点,如果没有关于您的问题的更多详细信息,很难推荐解决方案,但您有很多可用的选择。
【讨论】:
以上是关于是否可以从我的网站获取数据,这些数据在我的系统中的简单 mysql 数据库中存在?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以从我的 MySQL 数据库中的一个表中的一行中获取一个值并插入到同一数据库中的另一个表中?