标签: backup

mysqldump 与 INSERT ... ON DUPLICATE

我想将数据从一个数据库合并到另一个数据库。所以我创建转储,mysqldump然后将其导入另一个数据库(具有相同的表结构)。在这种情况下,我没有任何问题(例如重复条目或其他问题)。

但是为了测试目的我做了一些合并,稍后我会做最终合并。所以,我想执行几次合并(数据可能会更改)。请注意,我的表中的行永远不会删除,只能插入或更新。

我可以使用 ON DUPLICATE 选项创建 mysqldump 吗?或者我可以合并插入新数据并更新修改数据的转储?

当然,我可以ON DUPLICATE手动插入转储,但我想自动化合并过程。

mysql mysqldump backup

25
推荐指数
1
解决办法
3万
查看次数

如何 mysqldump 除 mysql 模式之外的所有数据库?

我想将 MySQL 服务器上的所有 200 多个数据库备份到all-dbs.sql.

我想排除mysql架构。

我怎样才能做到这一点?

mysql mysqldump backup

25
推荐指数
1
解决办法
4万
查看次数

SQL Server 2017 备份时崩溃,因为文件路径错误

我试图恢复我的数据库和 SQL Server 不断崩溃。我会在 SSMS 中收到一条消息,指出存在网络传输错误(连接因崩溃而中断)。我检查了日志,发现 SQL Server 意外关闭。然后我将不得不去重新启动服务。

我将问题缩小到 GUI 试图运行的脚本。问题是在进行尾日志备份时,备份文件的路径是错误的。它应该是D:\mapbenefits\...

BACKUP LOG [mapbenefits]
TO  DISK = N'D:mapbenefits_LogBackup_2019-02-21_13-58-24.bak'
WITH NOFORMAT, NOINIT,  NAME = N'mapbenefits_LogBackup_2019-02-21_13-58-24',
    NOSKIP, NOREWIND, NOUNLOAD,  NORECOVERY ,  STATS = 5
Run Code Online (Sandbox Code Playgroud)

我有两个问题。

  1. 如何修复此路径?我尝试进入服务器设置,备份路径D:没有斜线。如果我添加斜杠,gui 会将其删除。这是 SSMS v17.9.1。我可以选择D:\mapbenefits\并且有效,但我想要D:\DATABASE\...

  2. 这是一个错误吗?SQL 服务器是否应该因为路径输入错误而崩溃?一旦我修复了文件路径,它就没有问题了。我可以通过整理文件路径随时复制。

如果我运行查询来检查版本,我会得到 CU13,但如果我进入设置,我会看到版本 14.0.1000.169。

看起来这是一个错误并且可以重现,所以我将它发布到这里:https : //feedback.azure.com/forums/908035-sql-server/suggestions/36920542-incorrect-filepath-with-backup-log-command-原因

sql-server backup sql-server-2017

25
推荐指数
1
解决办法
1733
查看次数

我应该在完整备份期间停止事务日志备份吗?

我有两个 SQL 代理作业,它们计划以不同的时间间隔运行。第一个作业每天运行一次完整备份。第二个作业每十五分钟运行一次事务日志备份。

随着数据库的增长,完整备份的时间比原计划的要长(即使有压缩)。我从我的日志中注意到事务日志备份现在同时运行。

我是否应该更改事务日志备份的计划,以便在运行完整备份时不运行?有关系吗?

sql-server backup sql-server-2008-r2

24
推荐指数
2
解决办法
7222
查看次数

mysqldump 忽略数据库进行备份的任何选项?

我们的服务器中有 40 个数据库。

我们想使用 mysqldump 进行 36 个数据库备份。如何在 mysqldump 命令中忽略剩余的 4 个数据库?mysqldump 是否有任何选项可以忽略 MySQL 中的备份数据库?

我知道一般的 mysqldump 命令,但它非常冗长。我只想忽略 4 个数据库并且需要进行剩余的 dbs 备份。

mysql mysqldump backup

24
推荐指数
5
解决办法
7万
查看次数

在热备服务器上运行 pg_dump?

免责声明:我承认我还没有尝试过这个,但我不确定我是否会知道它是否工作不正常,所以我想问一下。

我想pg_dumpall从运行流式复制的热备用服务器运行夜间备份作业(通过),以避免将负载置于主服务器上。我只看到提到人们遇到的一些问题,例如这里这里,但很少有指导。如果备份稍微落后于主要,只要它是一致的(它应该是一致的)就可以了。

我的问题是:

  1. 我真的想这样做,还是应该在主服务器上进行备份?为什么?

  2. 在备用服务器上进行转储时,我需要哪些设置以及应该使用哪些程序来正确执行此操作?例如,我必须在备份期间停止复制吗?

postgresql replication backup

23
推荐指数
2
解决办法
1万
查看次数

如何为 PostgreSQL 中的备份创建只读用户?

在 PostgreSQL 中创建只读备份用户是不可能的吗?

我在 IRC 频道上被告知,您根本不能拥有没有所有权权限的仅备份用户。我觉得这很奇怪,所以我想确保我没有遗漏任何东西。

下面是我尝试过的,但它没有给我我正在寻找的结果。当我pg_dump在给定的桌子上做时,我得到Permission denied for relation...

GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup; 
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO backup; 
GRANT SELECT, USAGE ON ALL SEQUENCES IN SCHEMA public TO backup;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, USAGE ON SEQUENCES TO backup;
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

backup permissions postgresql-9.1

23
推荐指数
6
解决办法
3万
查看次数

pg_restore: [archiver] 在文件头中没有找到魔法字符串

我正在使用 PostgreSQL 9.1 并希望恢复使用pg_dump以下命令生成的备份文件:

sudo pg_dump -h 127.0.0.1 -U postgres --clean --inserts -E UTF8 -f out.sql database_name
Run Code Online (Sandbox Code Playgroud)

该命令生成一个有效的 sql 文件,首先删除任何现有的数据库对象,然后生成所有表、索引、序列等,最后插入数据。

当我尝试使用以下方法恢复生成的备份文件时:(添加换行符仅用于显示目的)

sudo pg_restore 
    -d database_name -h 127.0.0.1 -U postgres
    --format=c --clean --create out.sql
Run Code Online (Sandbox Code Playgroud)

它失败并打印:

pg_restore: [archiver] did not find magic string in file header
Run Code Online (Sandbox Code Playgroud)

这是什么原因?

postgresql backup postgresql-9.1 pg-dump

23
推荐指数
1
解决办法
3万
查看次数

多久备份一次master数据库?

BOL 中的建议相当模糊:

根据需要经常备份 master 以充分保护数据以满足您的业务需求。我们建议定期备份计划,您可以在大量更新后补充额外的备份。

如果你进一步冒险,你会发现这些细节:

导致 master 更新和需要进行备份的操作类型包括以下内容:

  • 创建或删除用户数据库。
  • 如果用户数据库自动增长以容纳新数据,
    master 不会受到影响。
  • 添加或删除文件和文件组。
  • 添加登录或其他与登录安全相关的操作。
  • 数据库安全操作,例如向数据库添加用户,不影响master。
  • 更改服务器范围或数据库配置选项。
  • 创建或删除逻辑备份设备。
  • 为分布式查询和远程过程调用 (RPC) 配置服务器,例如添加链接服务器或远程登录。

因此,如果我们所有的登录都是通过 Windows 组添加的,并且我们不对数据库进行任何其他更改,这是否意味着对 master 进行一次备份就足够了?

如果不是,master 数据库的标准备份间隔是多少?

sql-server backup sql-server-2008-r2

22
推荐指数
3
解决办法
5563
查看次数

“使用”后 MySQL 数据库冻结

我最近犯了一个相当愚蠢的错误并损坏了我的 Ubuntu 安装。为了解决这个问题,我用 live cd 启动并复制了数据库文件。但是,现在我已将旧安装中的文件夹复制到新安装中,每当我键入“use database_name”时,它都会冻结:

mysql> use my_database_name;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Run Code Online (Sandbox Code Playgroud)

然后在没有给出终端的情况下冻结。

mysql backup

22
推荐指数
1
解决办法
3万
查看次数