问题标签 [database-backups]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 通用远程数据备份和下载 - 包括 InnoDb 支持
我想要一个基于 PHP 的解决方案来备份远程服务器的数据库(只有数据而不是代码)并下载文件。我知道基于 Shell 的解决方案更适合做这些事情(在本地系统上运行 shell 脚本并通过 SSH 连接到远程系统),但需要有一个基于 PHP 的解决方案,其中知道 URL 并拥有数据库凭据就足够了非技术人员进行备份。PHP 脚本可以上传到远程服务器并执行。
以下是我想要的功能:-
- 至少应该支持 InnoDb 引擎 - 应该导出外键约束。如果它支持所有其他引擎,则没有害处。
在存在最大可能限制的情况下,应该在所有服务器上工作(我知道一些限制,例如
safe_mode
启用、exec()
禁用system()
功能等)。我想要一个非常通用的解决方案,它可以保证在任何地方都可以工作。进程应通过密码验证(要求提供数据库凭据)。
现在,我正在分解事物并从最基本的开始。以下是我迄今为止对事物的假设和一些问题:-
我不确定是否可以在共享托管服务器中完全禁用诸如等
exec
系统功能。system
如果它们被禁用以致无法被覆盖,那么此处mysqldump
给出的基于解决方案将无法普遍工作。问题 -如果只是这样,系统功能可以在内部存在的文件上执行,该解决方案是否可以安全地工作?
safe_mode
safe_mode_exec_dir
我问了一个关于使用 PHP 执行此操作的安全风险的问题,并了解不应该
mysqldump
在网络空间中创建备份文件(我假设,在基于解决方案的情况下,需要先创建备份文件,然后再下载)。因此,该解决方案不需要在那里创建备份文件(如果在其他位置创建也没有问题)。
问题 -但是,共享主机提供商会允许这样做吗?我检查了各种通用用户贡献的 PHP 类,如phpmysqldump等,并没有找到
mysqldump
使用系统命令进行备份的基于解决方案的用法。他们做诸如此类的事情SHOW CREATE TABLE
来获取所有的表创建、数据插入查询,然后下载这些东西而不实际将其保存为文件(因此没有安全风险)。
问题 -我是否正确地得出结论,他们做了所有这些事情而没有mysqldump
按照第一点的解决方案中给出的简单操作,因为这不是通用且安全的解决方案?
问题 -另外,我读到没有任何好的方法可以很好地工作。我个人只使用了这个phpmysqldump当我尝试使用创建的备份还原数据库时,它给了我 mysql 错误。转储文件中的查询看起来也与 PhpMyAdmin 的导出模块创建的查询有些不同。我还检查了其他一些免费用户贡献的 PHP 类。看起来他们中的大多数不支持 InnoDb 支持,因此外键约束,如果存在于数据库中,则不存在于导出中。
问题 -我猜,PhpMyAdmin 本身的导出功能(如果单独存在的话)可能是我的解决方案。有人知道像这样的稳定库吗?
postgresql - 与 SQL 转储相比,使用连续存档和时间点恢复有什么优势?
似乎 PostgreSQL 的连续存档和时间点恢复的备份和恢复要复杂得多。使用 SQL 转储方法有什么优势?我的环境是 Windows Server 2008。
mysql - 仅使用 MySQL 命令备份 MySQL 数据库
我有一个非常奇怪的虚拟主机,现在是周末,管理员不可用,我们需要对站点进行更改。为此,我们需要一个数据库后备位置,即数据库备份。我可以 SSH 作为我的用户帐户,发现我可以在 Linux 上运行“mysql”命令行命令就好了。但是当我尝试 mysqldump 命令时,它一直告诉我 user@localhost 是不允许的。我阅读了 mysqldump 上的文档并尝试了各种变体,然后尝试查看命令本身以查看它是否过时以及是否需要使用旧指令。
所以,没有运气。我们所能做的就是运行 mysql 命令。同样,我们尝试在此主机上安装 phpmyadmin,但我们遇到了问题,我们得到的是白页而不是错误,并且无法查看错误日志。我在 PHP 中执行了通常的步骤来将错误转储到屏幕上,但是在运行 phpmyadmin setup.php 时我们只得到一个白页。
那么,有没有办法我们可以纯粹使用“mysql”命令来导出我们的数据库模式和数据?
oracle10g - 备份时间减少问题
有人告诉我,在 ORacle 10g 中,数据库大小为 65GB 的完整数据库备份需要 4-5 小时。这正常吗?
我们有一个单独的计划活动,大约需要 1.5 小时。我们需要在单个会话中执行完整备份和此程序活动,这意味着执行整个会话需要 5 + 1.5 = 6.5 小时。但我们最多有 5 小时的活动更改窗口。
问题 1)在 ORacle 10g 中是否有另一种方法可以在 2 天内备份数据库中发生的增量更改(但我们不知道数据库中哪些表被更新以专门备份)?如果是这样,我们该怎么做?2)为了减少备份时间,在那个数据库中导入那些改变了增量的表会很容易吗?如果是这样,我们该怎么做?
谢谢
mysql - 如何排除某些表的数据但使用 mysqldump 保持结构?
我正在定期转储使用数据库进行日志记录的数据库。我需要创建一个mysqldump
命令来转储数据库中的所有内容,但不包括日志表的行信息。
我看到了no-data
parameter,但这似乎不支持只选择某些表。
mysql - mysql - mysqldump 是如何工作的?
我有一个使用 mysql 作为后端的 java 应用程序,每天晚上我们使用 mysqldump 备份 mysql 并且应用程序在该时间段内停止工作(应用程序 20 分钟)。
用于进行备份的命令。
这是正常的还是我做错了什么导致数据库在那段时间停止?
谢谢,克
backup - 如何在 Cognos 中备份一组查询?
我有一个文件夹,其中包含 Cognos 中的一组查询。我尝试通过将单个查询导出到记事本来备份它。但是如果我想一次备份一个文件夹中的所有查询,最好的方法是什么?感谢您在此问题上的帮助。
sql-server - 在 SQL Server 中恢复已删除的记录
我不小心删除了表中的一行并想恢复它。我在这里找到了解决方案:如何在 MS SQL 服务器中恢复已删除的记录
我试图从删除后的备份中恢复数据库。但我无法使用 STOPAT 选项恢复数据库:
我有以下错误:
mongodb - AWS 的 MongoDB 备份策略
如果我在 EC2 实例中运行 mongodb,并且不断地写入(有点)什么是最智能、最安全和最便宜的备份策略。
我担心的是,如果 EC2 实例出现故障,您会丢失任何写入磁盘的数据......
mysql - 在 Symfony 应用程序中通过 php 备份 MySQL
我正在尝试做一个 php 脚本来备份我的数据库。这是我迄今为止尝试过的:
如何从databases.yml获取密码和用户名?
如何执行向我发送备份文件的脚本,而不是将其保存在服务器上(à la phpmyadmin)?