如何在两台服务器之间安全迁移MySQL数据库
迁移MySQL数据库通常只需要几个简单的步骤,但是由于您要转移的数据量可能比较庞大,因此一般耗时也会比较长。
下面的步骤将指导您如何从旧的服务器上导出MySQL数据库,对它进行安全加固;然后将其复制并导入到新的服务器上,以保证数据的完整。
将MySQL数据库导出至转储文件(dump file)
Oracle提供了一个名为mysqldump的工具,允许您轻松地将数据库结构和其数据导出到一个SQL的转储文件。您可以使用如下的命令:
1mysqldump -u root -p --opt [database name] > [database name]sql
不过,请注意如下几点:
我们可以使用--single-transaction的标志,以避免数据库在导出数据的过程中被锁死。这样能够在将数据导出到转储文件的同时,您仍可继续在旧的数据库上更新数据。不过请注意,那些在导出进程已经开始之后被更新的数据,是不会被导入转储文件之中的。
在运行该命令之前,请务必将[database name]替换成您的实际数据库名称。
请输入您自己的用户名和相对应的密码,并确保该用户具有备份数据库所需的权限。
安全加固备份文件
在大多数情况下,数据是一家企业的最重要的资产。因此,我们不希望数据库的各种备份被暴露在不受保护的服务器上,因为这样有可能会造成错误地泄露,甚至会出现被黑客窃取等更为糟糕的状况。
因此,通常您可以尝试的做法是:压缩、加密文件,然后删除原文件。在Linux操作系统上,请使用以下的命令对已压缩文件进行加密:
1zip --encrypt dumpzip dbsql
在压缩开始之前,系统将提示您输入密码。
传输备份文件
至此,我们已经获得了一个加密的转储文件。下面让我们通过网络使用SCP命令,将其传输到新的服务器上:
1scp /path/to/source-file user@host:/path/to/destination-folder/
将MySQL转储导入新服务器
通过上面一步,我们已将备份文件传到了新的服务器上,下面让我们来进行解密和提取:
1unzip -P your-password dumpzip
为了存储空间和安全方面的原因,一旦文件导入成功,请记得删除其对应的转储文件。
您可以使用以下的命令来导入文件:
1mysql -u root -p newdatabase < /path/to/newdatabasesql
在新服务器上验证导入的数据
现在我们在新服务器上已经导入了数据库,那么我们就需要一种方法来验证数据的真实存在,并确保没有任何遗漏。
我建议您同时在旧的和新的数据库上运行如下查询,并将获得的结果进行对比。
该查询会在所有的表里计算行数,以显示出新、旧数据库中的数据量。
1SELECT
2TABLE_NAME,
3TABLE_ROWS
4FROM
`
5information_schema``tables`
6WHERE
`
7table_schema` = 'YOUR_DB_NAME';
此外,我建议您检查各个表中数字列的MIN和MAX记录,以确保数据本身是有效的,而不仅仅是看数据的总量(虽然这是查询所唯一能够读出的值)。另一种可供测试的选择是将数据库从新的服务器导出为SQL转储文件,并将其与旧服务器的SQL转储文件做比较。
此外,在应用程序被迁移之前,我建议您先将一个应用程序的实例重定向到新的数据库上,以确认一切运行正常。
另一种导出和导入的选项
我们之所以把该选项放在最后,是因为我们的确不建议您去使用它。
该方法实现起来非常的容易,因为它仅使用一个命令,便能一次性将转储文件导出、传输、并将其数据导入到新的数据库之中。
而它的不足之处在于,一旦其网络链接断掉,您就需要重新启动它了。
因此,我们认为它并不值得被推荐,尤其是在大型数据库中,可能会非常不适用。
当然,如果您非要尝试一下的话,可以使用如下的命令:
1mysqldump -u root -pPassword --all-databases | ssh user@new_hosthostcom 'cat - | mysql -u root -pPassword'
重要提示
请确保在新旧两处,安装有相同官方发行版本的MySQL服务器。否则,你需要按照MySQL网站上的升级说明来进行统一(请参见(https://devmysqlcom/doc/refman/57/en/upgradinghtml)。
请确保您在旧的服务器上拥有足够的空间来保存转储文件和压缩文件(应该有db_size×2的空间)。
请确保您在新的服务器上拥有足够的空间来保存加密的和解密的转储文件、并能导入数据库(应该有db_size×3的空间)。
如果您曾经考虑过只是将datadir从一个数据库转移到另一个的话,我建议您最好不要这样做。否则,您会搞乱数据库的内部结构,而且会给将来可能的问题埋下隐患。
在新的服务器配置中,请不要忘了配置诸如innodb_log_file_size这样的重要标志。因为如果忘记了根据新服务器的规格而更新配置的话,很可能会导致严重的性能问题。
在许多情况下,一般升级到新的数据库服务器的初衷是为了提高查询性能。而如果此类升级没有达到预期的改善,那么您就应该考虑去优化SQL查询,而不仅仅是升级硬件那么简单了
如果要快的话可以这样,作个参考吧:
1首先把新服务器安装好操作系统按老服务器分好磁盘分区(c,d,e等盘符保持一致)
2把老服务器上除系统盘(c盘)以外的盘上的数据全部复制到新服务器的对应盘上(通过网络共享复制或通过rsync将数据同步过来)
3数据同步完成后把老服务器的操作系统做一个ghost备份恢复到新服务器的C盘上。
4启动新服务器(如果启动正常应该所有的ad,dns等都是可用的,如果新服务器的某些硬件没有驱动,找新服务器的驱动光盘驱动一下就可以了。)
主服务器:要重新做的服务器
1 安装一台额外域控,dns服务一定要安装和ad集成。
2 把fsmo角色从主服务器迁移到额外域控上,原来的主服务器将变成额外域控。参见http://supportmicrosoftcom/kb/255504/zh-cn
3 把主服务器降级,成为普通域成员,运行dcpromo完成降级,这个步骤是为了避免ad中存在垃圾数据。
4 把主服务器退出域。
5 重新部署主服务器,部署为现有域的额外域控。
6 把fsmo角色从域控迁移到主服务器上。方法同上
有问题发消息
通过 Hyper-V,可以使用 Windows 中的一项技术创建一个虚拟化的服务器计算环境。 本指南提供有关将 Hyper-V 角色(包括虚拟机、数据和操作系统设置)从在早期版本 Windows 中运行 Hyper-V 的源服务器迁移到运行 Windows Server® 2012 操作系统的目标服务器的信息和说明。
关于本指南
注意
你的详细反馈非常重要,可帮助我们使 Windows Server 迁移指南尽可能地可靠、完整和易于使用。 请花几分钟时间给本主题评分,并填写你给出此分数的原因。 如果你在 Lightweight View 中查看本主题,请单击该页面顶部的“给本主题评分”。 在经典视图中,单击页面右上角的星号(1=差,5=优)。 描述你喜欢的内容、不喜欢的内容或希望在本主题的将来版本中看到的内容。 若要提交有关如何改进迁移指南或实用工具的其他建议,请将其发布在 Windows Server 迁移论坛上。
本指南介绍如何迁移 Hyper-V 角色,并提供了相应的准备、迁移和验证步骤。
迁移文档和工具简化了将服务器角色设置和数据从现有服务器迁移到运行 Windows Server 2012 的目标服务器这一过程。 通过使用本指南中介绍的工具,你可以简化迁移过程,减少迁移时间,提高迁移过程的准确性,并帮助消除在迁移过程中可能出现的冲突。 有关如何在源服务器和目标服务器上安装和使用迁移工具的详细信息,请参阅 Windows Server 迁移工具安装、访问和删除指南。
目标受众
本文档适用于负责在托管环境中操作和部署 Hyper-V 的信息技术 (IT) 专业人员。
本指南未提供的内容
本指南不涵盖以下项目,原因是迁移工具不支持这些项目:
此迁移过程不支持群集方案。 有关如何在群集环境中进行迁移的信息,请参阅《将群集服务和应用程序迁移到 Windows Server 2012 循序渐进指南》将群集服务和应用程序迁移到 Windows Server 2012。
如何在同一计算机上升级角色不属于本指南的范围。
一次迁移多个服务器角色。
将 Hyper-V 从一台运行 Windows Server 2012 的服务器迁移到另一台运行 Windows Server 2012 的服务器。 几种新的 Hyper-V 管理工具和功能反倒支持该过程。 一般过程包括以下步骤:
确定是使用导出和导入还是实时迁移来移动虚拟机。 导出和导入可以用于工作组或域环境中,但是需要关闭虚拟机。 实时迁移需要域环境以及一些配置,但是可让你移动正在运行的虚拟机。
将 Hyper-V 角色添加到目标服务器。 添加此角色时,可以配置默认存储位置和实时迁移。 有关说明,请参阅安装 Hyper-V 并创建虚拟机。
在目标服务器上配置虚拟交换机和其他网络功能(可选)。 管理工具包括 Hyper-V 模块中的 cmdlet New-VMSwitch 和 Set-VMSwitch,以及 Hyper-V 管理器管理单元中的虚拟交换机管理器。
通过导出和导入或者通过进行实时迁移来移动虚拟机。 管理工具包括 cmdlet Export-VM 和 Import-VM,以及 Hyper-V 管理器中的菜单命令“导出”、“导入”和“移动”。 有关使用实时迁移来移动虚拟机的详细信息,请参阅在非集群虚拟机上配置和使用实时迁移。
有关 Hyper-V 模块中包含的 cmdlet 列表,请参阅 http://technetmicrosoftcom/library/hh848559。
支持的迁移方案
本指南为你提供了将在早期版本 Windows Server 中运行 Hyper-V 角色的现有服务器迁移到运行 Windows Server 2012 的服务器的说明。 本指南不包含有关在源服务器运行多个角色时进行迁移的说明。 如果你的服务器运行了多个角色,建议你根据其他角色迁移指南中提供的信息设计特定于你的服务器环境的自定义迁移过程。 Windows Server 迁移门户中提供了适用于其他角色的迁移指南。
小心
如果你的源服务器正在运行多个角色,则本指南中的某些迁移步骤(例如,用于计算机名称和 IP 配置的步骤)可导致在源服务器上运行的其他角色失败。
支持的操作系统
源服务器处理器
源服务器操作系统
目标服务器操作系统
目标服务器处理器
基于 x64
Windows Server 2008 Service Pack 2,仅限完全安装选项
Windows Server 2012,完全安装选项和服务器核心安装选项
基于 x64
基于 x64
Windows Server 2008 R2
Windows Server 2012,完全安装选项和服务器核心安装选项
基于 x64
基于 x64
的服务器核心安装选项 Windows Server 2008 R2
Windows Server 2012,完全安装选项和服务器核心安装选项
基于 x64
上表中显示的操作系统版本是所支持的操作系统和 Service Pack 的最旧组合。 支持较新的 Service Pack(如果有)。 未列出的操作系统将不受支持。 不支持作为独立产品的 Microsoft Hyper-V Server。
支持将运行 Hyper-V 的标准版、企业版和数据中心版的 Windows Server 作为源服务器或目标服务器。
不支持从源服务器迁移到运行与源服务器不同的系统 UI 语言(即已安装语言)的操作系统的目标服务器。 例如,无法使用 Windows Server 迁移工具从正使用法语系统 UI 语言运行 Windows Server 2008 的计算机将角色、操作系统设置、数据或共享迁移到正使用德语系统 UI 语言运行 Windows Server 2012 的计算机。
注意
系统 UI 语言是用于设置 Windows 操作系统的本地化安装程序包的语言。
支持的角色配置和设置
本节标识了可通过使用迁移工具迁移的配置和设置,以及必须手动迁移的配置和设置。 下表中进行了总结。
配置和设置
迁移类型
虚拟机(配置和数据)
自动(下面另有注明的除外)
Hyper-V 设置
自动
管理操作系统中的虚拟网络适配器设置
自动
外部虚拟网络
部分自动(参见下面的说明)
虚拟机队列 (VMQ) 网络设置
自动
自定义的远程管理设置
Manual
可以自动迁移以下配置和设置:
大多数虚拟机配置。 作为迁移的一部分移动虚拟机及其数据,但有些配置需要手动干预,如下所述。
Hyper-V 设置。 其中包括系统级设置和授权存储。
注意
如果从运行 Windows Server 2008 R2 的源服务器中进行迁移并且已设置 MAC 地址范围,则还将该值自动迁移到目标服务器。
内部和专用虚拟网络。
管理操作系统中的虚拟网络适配器设置。 当 Hyper-V 配置为使用物理网络适配器作为虚拟机可用于访问物理网络的桥时,将在运行 Hyper-V 角色的管理操作系统中创建虚拟网络适配器。 对于此虚拟网络适配器,迁移过程自动迁移此虚拟网络适配器的 IP 设置、绑定和 MAC 地址。 但是,必须手动重新建立虚拟网络适配器与物理网络适配器之间的连接,如迁移步骤中所述。
虚拟机队列 (VMQ) 网络设置。
在使用迁移工具之后,以下配置和设置需要手动干预:
防火墙设置。 在目标服务器上使用随 Hyper-V 一起安装的默认值重新创建防火墙设置。 如果已从这些默认值修改任何防火墙设置,则将需要在目标服务器上进行相同修改。
外部虚拟网络。 迁移工具在目标服务器上重新创建虚拟网络,但重新创建外部虚拟网络作为内部虚拟网络。 你将需要修改其中的每个网络,以将其连接到目标服务器上适当的物理网络适配器,如迁移步骤中所述。
VFD 和 ISO 文件。 不会迁移这些文件,因为它们不是运行虚拟机所必需的,而且它们不受 Import 和 Export cmdlet 支持。 若要使这些文件可供迁移后的虚拟机使用,请将这些文件手动复制到目标服务器,然后在迁移虚拟机之后将它们重新附加到虚拟机。
直接连接到虚拟机的物理磁盘的连接。 不会迁移这些连接(有时称为“传递磁盘”),因为磁盘引用在目标服务器上可能无效。 若要使某个物理磁盘可供迁移后的虚拟机使用,请将该磁盘连接到目标服务器,然后在迁移虚拟机之后将该磁盘连接到虚拟机,如迁移步骤中所述。
自定义的远程管理设置。 如果已自定义 Hyper-V 以进行远程访问,你将需要执行一些其他过程来重新创建 DCOM 和 WMI 命名空间设置。 迁移步骤标识应执行这些过程的时间点,并提供建议的工具或脚本来完成相应过程。
迁移依赖关系
Hyper-V 角色不依赖于任何其他角色。 作为最佳实践,建议不要在运行 Hyper-V 的服务器上安装任何其他角色。
不支持的迁移方案
不支持以下迁移方案:
虚拟机的已保存状态。
下列一种情况下的虚拟机配置:
为虚拟机配置的虚拟处理器的数目多于目标服务器上的逻辑处理器的数目时。
为虚拟机配置的内存大于目标服务器上的可用内存时。
将物理服务器合并到虚拟机,或者将多个 Hyper-V 实例合并到一个实例。
Hyper-V 迁移概述
Hyper-V 角色迁移涉及将虚拟机、虚拟网络和所有关联的设置从企业中的一台物理计算机移动到另一台物理计算机。 该过程支持从在 Windows Server® 2008 R2 中运行 Hyper-V 的服务器迁移到在 Windows Server 2012 中运行 Hyper-V 的服务器。 Hyper-V 角色不依赖于任何其他角色。
迁移工具包含你可用于执行迁移 Hyper-V 角色所需的某些任务的 cmdlet。 Export cmdlet 可捕获执行成功迁移所需的大多数 Hyper-V 设置,包括虚拟机配置、虚拟网络和虚拟硬盘。 DCOM 和 WMI 命名空间安全设置必须单独进行迁移。 本指南后面提供有关此操作的说明。 在目标服务器上,Import cmdlet 将重新创建虚拟机。
迁移的影响
下节描述迁移对源服务器和企业中的其他计算机的影响。
迁移对源服务器的影响
在目标服务器上运行 import cmdlets 之前,应当关闭源服务器或从网络中删除源服务器,以便在源服务器上运行的虚拟机与将在目标服务器上重新创建的虚拟机之间没有冲突。 本指南后面的迁移步骤中标识应执行此任务的时间点。
迁移对企业中的其他计算机的影响
这种迁移可能会影响依赖于在虚拟机(将作为 Hyper-V 角色迁移的一部分进行迁移)中运行的应用程序或工作负荷的任何计算机(虚拟或物理),因为这些虚拟机在迁移期间将处于脱机状态。 例如,如果虚拟机承载一个数据库,则企业中需要访问该数据库的所有应用程序都将受到影响。 因此,你将需要通过安排计划的中断时间或通过将流量重定向到其他服务器以提供相应服务,从而安排好此类停机事件。
完成迁移所需的访问权限
运行 cmdlet 和工具的用户帐户必须是源服务器和目标服务器上的本地管理员组的成员。
估计持续时间
迁移 Hyper-V 角色所需的时间长度取决于要传输的数据大小。 在要传输的各种文件类型当中,vhd 文件的文件大小最大(从几千兆字节到数千兆字节不等)。 时间长度受到 vhd 文件的大小和网络带宽的影响。
为企业数据贯穿和数字化转型打下坚实的第一步。
数据复制服务致力于提供数据库零停机的迁移上云体验,支持同构异构数据库、分布式数据库、分片式数据库之间的迁移,通过DRS也可以让数据库传输秒级可达。
华为云数据复制服务的在线迁移特性,通过增量迁移技术,能够最大限度允许迁移过程中业务继续对外提供使用
SVN项目,原本部署在10101348的电脑上,现在部门采购了一台更好的Server,IP为101013129。
所以,想把SVN项目从48上迁移到129上。做法:准备:
系统平台:windows server 2003
版本库:vos
源服务器:10101348
目标服务器:101013129
源SVN版本库的path: D:\svn\vos
要迁移到的path: E:\svn\vos步骤:
1.停止http服务,本文中用的是apache (源服务器)(目标服务器)
2.cd C:\Program Files\Subversion\bin(Subversion的安装目录)(源服务器)---------进入源服务器的svn安装目录
3.执行:svnadmin dump D:\svn\vos D:\svn\vos\vosdump(源服务器)
4将vosdump拷贝到目标服务器的任何地方,如E:\vosdump
5.cd C:\Program Files\Subversion\bin(目标服务器)---------进入目标服务器的svn安装目录
6.svnadmin create E:\svn\vos (目标服务器)----------------创建目标SVN服务器的vos项目
7.Svnadmin load E:\svn\vos < e:\vosdump (目标服务器。这个只是将源服务器上导出的版本库,导入到现在的服务器上。)
微软官方网站上有非常详细的指导文件,我建议你下载打印,按照步骤一步一步走。基本上是这样的:
1在新服务器上安装服务器版操作系统,提升为域控DC/GC
2在新服务器上安装exchange2003
3当新服务器出现在ESM系统管理器里以后,建立所有方面的同步(具体参照微软文档) 公共文件夹,日历,离线地址簿等等
4移植邮箱(旧到新) 这会是个最耗时的工作, 建议你用非工作时间分批来进行,直到完全完成 可能由于种种原因,某些邮箱无法正常移植,你可采用导出pst文件的方式备份单个处理
5 当所有邮箱移植完毕,你确定其他同步业已完成的情况下,先不要着急把旧服务器干掉,先让新旧服务器同时运行几天来观察是否有任何问题 同时可以把同步取消(只留下新服务器) 把新服务器设置为主,旧服务器为从
6 当你确定没有问题时,修改防火墙的natting设置, 让进来的邮件直接访问新服务器,也许你要手动在新服务器上添加连接器以保证出去的邮件畅通无阻 然后把旧服务器关机几天 这样如果有问题你可以重新启动来修改
7 之后就可以把exchange2003盘放进旧服务器里,开始移除exchange2003了,之间可能会提示你还有问题需要解决 移除之后重启,旧服务器就会从ESM系统管理器里消失了
8 现在可以降域控了,这里注意,如果旧服务器是主域控你就需要夺取FSMO角色,具体步骤还是建议你参考官方文档 如果另有主域控在,你就不用了
基本上在客户端你是不用做任何事情的, outlook会自动切换到新服务器
以上引用http://bbs51ctocom/thread-606640-1html的原文
如果是exchange2007/2010/2013则会简单很多,但是还是请参考supportmicrosoftcom
关于DNS的备份和恢复。
备份:
1、停止DNS服务
2、打开regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS
3、将DNS这个分支导出。命名为DNS-1
4、找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server
5、将DNSserver分支导出,命名为DNS-2
6、打开\Windows\System32\DNS ,把其中的所有*dns文件复制出来,并和DNS-1reg及DNS-2reg保存在一起。
把上述内容备份出来即可。
恢复:
1、当区域里的DNS服务器发生故障,重新建立一台win2003服务器,并与所要替代的DNS服务器起相同的名字,设置相同的DNS后缀和IP地址。
2、在新系统中安装并启动DNS服务。
3、把前面备份出来的*dns文件复制到新系统的\Windows\System32\DNS文件夹中。
4、停用DNS服务。
5、把备份的dns-1reg和dns-2reg导入到注册表中。
6、重新启动DNS服务。
dhcp的快速备份!
命令行:
netsh dhcp server dump >dhcp_baktxt
备份完成。
如果原DHCP服务器损坏,需要新建一台DHCP服务器,并把DHCP-baktxt复制过来。
在命令行运行:
netsh exec dhcp_baktxt
这样,相关的信息就恢复了,但租约信息用这种办法无法恢复。
0条评论