Questions tagged «backup»

制作数据副本,这些副本可以在数据丢失事件后恢复或从某个较早的时间点恢复数据。


7
如何优化大型数据库的mysqldump?
我有一个Symfony应用程序,其中有一个带有57个表的〜2GB InnoDB数据库。数据库的大部分大小都驻留在单个表中(约1.2GB)。我目前正在使用mysqldump每晚备份数据库。 由于使用comcast连接,通常,如果我手动运行转储,则在转储完成之前,我与服务器的连接会超时,导致不得不重新运行转储。[我目前运行一个每天晚上进行转储的cron,这仅用于我手动运行的转储。] 有没有一种方法可以加快转储以解决连接超时问题,还可以限制服务器占用此过程的时间? 顺便说一句,我目前正在努力减少整个数据库的大小,以解决此问题。



6
在活动的系统上执行有效读写的最安全方法是mysqldump?
我不确定这是否是正确的,但我记得阅读过,如果您在linux中运行以下命令 mysqldump -u username -p database_name > backup_db.sql 在对数据库进行读写时,转储可能包含错误。 命令中是否有特定选项mysqldump来确保在实时系统上安全地完成此操作?我可以为用户禁用读/写功能几秒钟(数据库<50MB)

4
MySQL以任何方式导入巨大的(32 GB)sql转储更快?
我有一个巨大的32 GB SQL转储,需要导入MySQL。我以前不必导入这么大的SQL转储。我照常做: mysql -uroot dbname < dbname.sql 花费的时间太长了。一张桌子大约有3亿行,大约3个小时就达到了150万行。因此,似乎整个过程将花费600个小时(即24天),并且是不切实际的。所以我的问题是,有没有更快的方法可以做到这一点? 进一步的信息/发现 这些表都是InnoDB,并且没有定义外键。但是,有很多索引。 我没有访问原始服务器和数据库的权限,因此无法进行新备份或进行“热”复制等。 此处innodb_flush_log_at_trx_commit = 2建议的设置似乎并没有(明显可见/指数)改善。 导入期间(从MySQL Workbench)的服务器统计信息:https : //imgflip.com/gif/ed0c8。 MySQL版本是5.6.20社区。 innodb_buffer_pool_size = 16M和innodb_log_buffer_size = 8M。我需要增加这些吗?

6
.bak文件在SSMS中的任何目录中都不可见
我今天有一个其他人创建的.bak文件,是通过SSMS 2008 R2手动创建的。我正在尝试手动还原数据库,但是不幸的是,当我浏览该文件时,该文件没有出现。 我可以编写恢复过程的脚本,但是我以前已经看到过此问题,并且不确定是什么原因导致.bak不出现。

6
移动数据库(备份,还原)后,我必须重新添加用户
我有时使用SQL Server Management Studio中的数据库备份和还原功能将数据库(SQL Express 2012)从开发计算机移至服务器,反之亦然。 每当执行此操作时,目标计算机上的应用程序都无法访问数据库,直到我从数据库用户(数据库,安全性,SQL Server Management Studio中的用户)删除它们使用的用户“ george”,并将其重新添加为安全性,登录名,地理/属性,用户映射下的所有者。 有一个更好的方法吗?似乎有点令人费解。

1
如何获得有效且完整的PostgreSQL数据库备份和测试
我希望我能就如何确保像使用MS SQL Server一样获得完整的Postgres备份获得明确的答案,然后照顾孤立的用户。 从我所读的文章中(可能是错误的),找到一个好的PostgreSQL博客一直是一项艰巨的挑战,因此请随时向我推荐一些博客,我需要弄清楚该应用程序的工作方式,以便我可以信任自己的备份和Slony复制。我有一个开发人员在选择s时通过custom,directory和tarformat 从PgadminIII还原了我的备份,OID但他说其中两个没有加载,tar但只是目录,而不是数据。我现在真的很困惑。 我正在使用PGAdminIII,它具有pg_dump和pg_dumpall选项。我想备份所有需要测试的东西,以便将该数据库还原到某个地方,并确认是的,我们需要的所有数据和备份都正确。最终我想写一个自动恢复脚本,但一次只写一天。 pg_dumpall显然有一个-globals应该备份所有内容的选项,但是的帮助pg_dumpall显示-g, --globals-only dump only global objects, no databases,而不是--globals选项。 我以为pg_dumpall至少会备份外键,但这似乎还是一个“选项”。根据文档,即使pg_dumpall我需要使用一个-o选项来备份外键,我也无法想象我何时不想备份外键,这作为默认选项会更有意义。 我将如何照顾孤立的用户并确认我拥有一切?我想将备份文件实际还原到另一台服务器上,并验证一切正常。如果有人对如何在PostgreSQL中进行真正的备份并还原提出任何建议,我将不胜感激。 我有一台PostgreSQL服务器,但是我仍然无法理解为什么OID默认情况下该应用程序不会备份s!好像有99.9%的时间需要。 更新1: Postgres 文档中提到globals我正在寻找的选项似乎是此版本的默认选项,但仍需要该-o选项。如果有人可以验证或给我一个示例命令,将所有需要的一切还原到其他地方的单个数据库,我将不胜感激。 编辑:被网站要求通过编辑我的问题来显示此问题的独特性。这个问题引起了问题,并弄清了备份中的OID,全局变量和非全局变量之间的差异,以及测试了还原建议以确保备份良好,而不是仅仅备份。根据答案,我能够备份,找出全局变量/ oid,并使用cron作业每晚在Postgres上开始测试还原过程。谢谢您的帮助!



6
可能的最小备份…使用SQL Server
每天,我们都会通过WAN运送SQL Server备份。我们需要最小化这些备份的大小,以免花费很长时间。 我们不介意我们的备份过程是否花费更长的时间。就目前而言,我们需要在WAN上移动30gig压缩备份,这需要10多个小时。 我们必须有2种选择来获得较小的每日备份。 日志传送,这意味着我们将不得不重组灾难恢复流程。 将信息剥离到db之外并在另一端重建(删除非聚集索引,将聚集索引打包为100%-在另一端重建) 两者都将涉及我们的大量工作。我们使用的是SQL Server 2008 pro,所有备份均已压缩。 是否有任何商用产品可以为我们提供与选项(2)类似的备份大小? 是否有完善的脚本可以让我们完成(2)?(处理索引视图,过滤索引,外键等)

7
mysqldump是否可以转储重现查询所需的数据库子集?
背景 我想提供重现select查询所需的数据库子集。我的目标是使我的计算工作流具有可重现性(就像在可重现的研究中一样)。 题 有没有一种方法可以将这个select语句合并到一个脚本中,该脚本将查询到的数据转储到新数据库中,以便可以将数据库安装在新的mysql服务器上,并且该语句可以与新数据库一起使用。除了已在查询中使用的记录以外,新数据库不应包含其他记录。 更新: 为澄清起见,我对查询结果的csv转储不感兴趣。我需要做的是转储数据库子集,以便可以将其安装在另一台计算机上,然后查询本身可以重现(并且可以针对同一数据集进行修改)。 例 例如,我的分析可能查询需要从多个(在此示例中为3个)表中进行记录的数据子集: select table1.id, table1.level, table2.name, table2.level from table1 join table2 on table1.id = table2.table1_id join table3 on table3.id = table2.table3_id where table3.name in ('fee', 'fi', 'fo', 'fum');

1
为BACKUP命令设置BUFFERCOUNT,BLOCKSIZE和MAXTRANSFERSIZE
我找了实际指导的设定值BUFFERCOUNT,BLOCKSIZE以及MAXTRANSFERSIZE该的BACKUP命令。我做了一些研究(见下文),做了一些测试,并且我完全意识到,任何真正有价值的答案都将以“嗯,这取决于……”开始。我对已经完成的测试以及在我发现的任何资源中显示的测试的担忧(请参见下面的方法)是测试是在真空中完成的,很可能是在没有其他负载的系统上进行的。 我对基于长期经验的这三个选项的正确指导/最佳实践感到好奇:数周或数月的许多数据点。我并没有在寻找特定的值,因为这主要是可用硬件的功能,但是我想知道: 各种硬件/负载因素如何影响应采取的措施。 在任何情况下都不应该覆盖这些值吗? 是否有一些陷阱可以覆盖所有这些并非立即显而易见的陷阱?占用过多的内存和/或磁盘I / O?还原操作复杂吗? 如果我有一台运行着多个SQL Server实例的服务器(一个默认实例和两个命名实例),并且如果我同时运行所有3个实例的备份,那么除了确保集合(BUFFERCOUNT* MAXTRANSFERSIZE)没有超过可用的RAM?可能的I / O争用? 在将三个实例放在一台服务器上并再次在所有三个实例上同时运行备份的相同场景中,在每个实例内同时运行多个数据库的备份又将如何影响这些值的设置?这意味着,如果三个实例中的每个实例每个都有100个数据库,则每个实例每个实例同时运行2或3个备份,这样就可以同时运行6到9个备份。(在这种情况下,我有许多中小型数据库,而不是几个大型数据库。) 到目前为止,我收集了以下内容: BLOCKSIZE: 支持的大小为512、1024、2048、4096、8192、16384、32768和65536(64 KB)字节。[1] 磁带设备的默认值为65536,否则为512 [1] 如果要备份要复制到CD-ROM并从CD-ROM还原的备份,请指定BLOCKSIZE = 2048 [1] 当您写入单个磁盘时,默认值为512就可以了。如果使用RAID阵列或SAN,则必须进行测试以查看默认值还是65536更好。[13(第18页)] 如果手动设置,则该值必须> =用于创建数据文件的块大小,否则将出现以下错误: 消息3272,级别16,状态0,第3行 'C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ BackupTest.bak'设备的硬件扇区大小为4096,但是block size参数指定不兼容的覆盖值512。使用兼容的块大小重新发出该语句。 BUFFERCOUNT: 默认值[2],[8]: SQL Server 2005及更高版本: (NumberofBackupDevices * …

1
DBA从事新工作的第一天-检查备份和安全性-如何?还有什么要检查的?
通常,当我在新环境中启动时,我倾向于检查备份在哪里,何时进行了最后一次完全备份,何时应用了最后一次还原,还检查了安全性。 我这样做的方法是通过T-SQL。 检查备份 ;with Radhe as ( SELECT @@Servername as [Server_Name], B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(), MAX(Backup_finish_date)))), 'NEVER') as DaysSinceLastBackup, ISNULL(Convert(char(11), MAX(backup_finish_date), 113)+ ' ' + CONVERT(VARCHAR(8),MAX(backup_finish_date),108), 'NEVER') as LastBackupDate ,BackupSize_GB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00/1024.00 AS NUMERIC(18,2)) ,BackupSize_MB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00 AS NUMERIC(18,2)) ,media_set_id = MAX(A.media_set_id) ,[AVG Backup Duration]= AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS int)) ,[Longest Backup Duration]= …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.