我正在从一台服务器移动到另一台服务器,我想从我的 MySQL 服务器备份所有数据库 + 用户/权限/密码。我发现使用 备份数据库mysqldump,但我不知道如何备份所有用户和给定的权限。有没有办法实现这一点,还是我必须在新服务器上重新设置?
我的任务是将 PostgreSQL 8.2.x 数据库迁移到另一台服务器。为此,我使用 pgAdmin 1.12.2(顺便说一下,在 Ubuntu 11.04 上)并使用自定义/压缩格式 (.backup) 和 UTF8 编码的备份和还原。
原始数据库是 UTF8,如下所示:
-- Database: favela
-- DROP DATABASE favela;
CREATE DATABASE favela
WITH OWNER = favela
ENCODING = 'UTF8'
TABLESPACE = favela
CONNECTION LIMIT = -1;
Run Code Online (Sandbox Code Playgroud)
我正在目标服务器上完全像这样创建这个数据库。但是当我使用“恢复”选项从 .backup 文件恢复数据库时,它给了我一些以下错误:
pg_restore: restoring data for table "arena"
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2173; 0 35500 TABLE DATA arena favela
pg_restore: [archiver (db)] COPY failed: ERROR: invalid byte sequence for encoding …Run Code Online (Sandbox Code Playgroud) 我最近继承了一个使用BINARY(16)而不是UNIQUEIDENTIFIER存储 Guid的 SQL Server 数据库。它对包括主键在内的所有内容都执行此操作。
我应该担心吗?
我即将着手将数据库文件迁移到新的 SAN(从旧的 SAN),并且我有几个选项可以实现这一点。(1) 有人建议我调查将完整备份恢复到服务器上新数据库的工作量。但是,(2) 我最初的计划是通过分离然后重新附加数据库将文件从旧 SAN 复制到新 SAN。
我的直觉告诉我,我宁愿分离、复制和附加,因为它看起来更安全,但这可能只是我的天真。我不想在重命名数据库的过程中错过事务或以某种方式“破坏某些东西”。
我想我的问题是我对 BACKUP-RESTORE-Replay 选项的怀疑是否合理,以及该选项的其他优点或风险是什么?
我需要将一大堆(100+)大(数百万行)表从一个 SQL2008 数据库移动到另一个数据库。
我最初只是使用导入/导出向导,但所有目标表都缺少主键和外键、索引、约束、触发器等(身份列也被转换为普通的 INT,但我想我只是错过了向导。)
这样做的正确方法是什么?
如果这只是几个表,我会回到源,编写表定义(包含所有索引等)的脚本,然后在目标上运行脚本的索引创建部分。但是有这么多表,这似乎不切实际。
如果没有太多数据,我可以使用“创建脚本...”向导来编写源代码,包括数据,但是 72m 行脚本似乎不是一个好主意!
我现在正在将我的 MySQL 数据库迁移到 PostgreSQL。除了我拥有的一张表 - 实际上是我的应用程序中最重要的表之外,几乎一切都很好(好吧,经过大量谷歌搜索以获取正确的 mysqldump 参数等)。
表结构非常简单:
mysql> show create table samples;
.. skipped ...
CREATE TABLE `samples` (
`File_ID` int(11) NOT NULL,
`File` longblob,
PRIMARY KEY (`File_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=binary
Run Code Online (Sandbox Code Playgroud)
但它非常大(> 20 Gb)。
我尝试使用 mysqldump 的 --hex-blob 参数 - 但是当我尝试将结果转储文件用作命令文件时,PostgreSQL 不接受这种格式的数据。我尝试过的另一个选项是使用 --tab 选项来获取转储,然后使用 COPY 命令将其插入到 PostgreSQL - 但是 --hex-blob 不能使用 --tab 并且 PostgreSQL 仍然不接受转储文件说那里是其中的无效字符。
我很乐意就此事获得任何建议 - 尽管我开始认为编写自定义迁移工具毕竟不是一个坏主意......
我们的一款产品同时支持 Oracle 和 SQL Server 作为数据库后端。我们有一位客户希望从 Oracle 后端切换到 Microsoft SQL Server,这对我们来说不是典型的过渡。
将整个 Oracle Schema 中的所有数据获取到 SQL Server 数据库中的最简单方法是什么?
模式只包含普通的旧表,没有什么花哨的。可能有一两个存储过程,我们手动迁移不会有问题。
我可以使用 Oracle 的 SQLDeveloper 将表数据导出为CREATE和INSERT语句,但这些与 SQL Server 上使用的语法不匹配,我不希望手动修复语法错误。
我在 Postgresql 中有一个数据库,它是从 SQL Server 迁移过来的(只有数据)。
在 SQL Server 上,此数据库中的表具有以下列:
measure_id
datum
measure
Run Code Online (Sandbox Code Playgroud)
其中measure_id是自动增量主键,datum是日期时间,measure是浮点数。
在 Postrgresql 中迁移后,measure_id是 bigint 类型的列。
measure_id既然我的表充满了数据,我该如何将此列 ( )更改为 bigserial 并将其指定为主键?
我将从数据库迁移。image我想将一列类型导出到文件系统上的二进制文件。每条记录一个文件。如何使用 SQL Server 执行此操作?
是否有工具可以从表中的选定行导出数据,并将所有数据存储在其他表中的其他表中,并通过关系设计链接?
目的是为了方便临时迁移服务器之间的数据位迁移。我正在寻找一个专门为 MySQL InnoDB 定义外键的工具。
migration ×10
sql-server ×5
mysql ×3
postgresql ×3
backup ×1
blob ×1
datafile ×1
export ×1
installation ×1
mysqldump ×1
oracle ×1
pgadmin ×1
syntax ×1
tools ×1
uuid ×1