我能够恢复损坏的操作系统(Windows XP)的MySQL服务器5.5的数据库文件夹
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\
如何手动将其还原到新的MySQL服务器?当我打开文件夹时,我发现了几个文件夹,我相信这些是数据库.我没有提交任何SQL文件.
为了直接以bz2格式转储数据库,我尝试使用管道直接压缩转储文件,如下所示:
mysqldump -u userName -p myDataBase | bzip2 -c > myDump.sql.bz2
Run Code Online (Sandbox Code Playgroud)
我想为恢复做类似的事情.我可以使用以下两个命令执行此操作:命令1:
bzip2 -d myDump.sql.bz2
Run Code Online (Sandbox Code Playgroud)
命令2:
mysql -u userName -p myDataBase < myDump.sql
Run Code Online (Sandbox Code Playgroud)
通缉:现在我想使用管道恢复myDump.sql.bz2到数据库myDataBase.
我正在尝试编写自动备份并恢复T-SQL脚本.我已经做了BACKUP部分,但我在RESTORE上苦苦挣扎.
当我在SS Management Studio上运行以下语句时;
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
Run Code Online (Sandbox Code Playgroud)
我在网格中得到了一个结果集,我也可以使用
INSERT INTO <temp_table>
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
Run Code Online (Sandbox Code Playgroud)
填充临时表.但是,当我尝试从该结果集中进行选择时,我会收到语法错误.例如
SELECT * FROM
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
Run Code Online (Sandbox Code Playgroud)
结果集元数据应存储在SQL Server Dictionary中的某处.我找到了其他的创可贴公式来让我的自动恢复工作,但是如果能够获得结果集,我会创建更优雅的解决方案.另请注意,结果集在2008年与2005年不同.
提前致谢...
我用他的命令支持我所有的mysql数据库
mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz
Run Code Online (Sandbox Code Playgroud)
只是想知道我能用以下命令恢复所有数据库
gunzip < alldb.sql.gz | mysql -u root -ppassword -h localhost
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何备份所有的mysql用户吗?
我无法测试它,因为我不确定,我不想破坏我当前系统上的任何数据库
我有一个数据库备份,SQL Server Management Studio说它有三个文件:一个.mdf文件,一个.ndf文件和一个.ldf文件.这个辅助数据文件(.ndf一个)是在没有明显原因的情况下创建的,因此我想完全删除它(当然不会丢失数据),最好是在从备份恢复数据库的过程中.
这一切都可行吗?
我们的应用程序在网络上运行,主要是一个查询工具,做一些交易.我们托管Oracle数据库.该应用程序始终为每个客户提供不同的Oracle实例.一个客户是支付我们提供我们的服务,该公司的员工,每个客户通常10,000-25,000名员工的公司.我们打算有几百个客户.我们每隔几年就会发布一次主要版本,并且迁移到新版本具有挑战性:我们可能会在客户站点组建一个团队几周,解释新功能并设置驱动数据以适应该客户.
我们正在考虑使用多客户端,将所有客户放在一个大型的"Windows Server 2008服务器"上的单个共享Oracle 11g实例中 - 以降低成本.我想知道这是否可取.
为每个客户提供单独的实例有一些优点.请告诉我这些是假的.我粗略猜测降低重要性:
我们的客户MyCorp和YourCo可以在对架构进行重大更改时单独迁移.(对于多客户端,我们将在一夜之间迁移300多个客户!?!)
MyCorp的数据可以轻松备份和(!!!)恢复,而不会影响其他客户.
MyCorp的数据与其竞争对手YourCo的数据安全地分开,而不依赖开发人员来获得正确的代码和/或DBA获得正确的配置.
多个实例风险较低,因为一个客户发生灾难(某人意外地将每个人的工资加倍,并且在发薪日后发现错误)不会影响其他客户.一场灾难影响了我们所有的客户(呐喊,新的DBA,突然每个参与者都拥有相同的SSN!?!)可能会让我们的公司陷入困境.
在一台服务器上安装一个实例会出现单点故障,如果飓风摧毁了建筑物,我们的整个客户群就会停止运营.多个服务器上的多个实例允许地理分散:没有灾难会影响我们客户的太大比例,而其他地区的未受影响的服务器可以承担故障服务器的负载.
性能更好,因为数据库较小(约50个表中的10,000对2,000,000行).
如果MyCorp的办公室(大部分)只在一个地区,那么MyCorp的实例可以在地理位置上共存,因此网络延迟不会影响性能.出于同样的原因,我们可以为全球客户提供更好的服务.
在MyCorp想要在内部使用他们的数据库,然后我们可以轻松导出他们的实例,以获得MyCorp他们的数据.
负载平衡更容易,因为实例可以放在不同的服务器上(这适用于Web场).
当需要DEV或QA实例时,克隆实际实例并对数据进行匿名化会更容易,因为数据要少得多.
因为它们足够小,开发人员可以让自己的实例在本地运行,这样他们就可以在机场等待的同时处理代码,而无需解决VPN麻烦.
Q1:单独实例的其他优点是什么?
我们正在考虑更改数据库架构并将所有客户合并到一个Oracle实例中,在一台大型服务器上运行.
以下是多客户端实例方法的优点,最重要的是首先(我的WAG).如果这些是假的,请狙击:
减少DBA的工作量,因为他们只需要维护一个实例而不是数百个实例.较少的DBA工作转化为更便宜,这是我们改变的主要动机.
只需一个实例,DBA就可以更好地优化性能.他们将有时间添加适当的索引并查看我们的SQL.
开发人员更容易调试和增强应用程序,因为只有一个模式和一个应用程序(如果有数百个实例,则可能有数十个模式版本,每个模式版本都有不同版本的应用程序).这也降低了成本.另一种方法是必须启动每个调试会话:(1)该客户运行的是什么版本;(2)让我们努力重新创建相应的开发环境,代码和数据库.(我们需要一个虚拟机,其中包含每个补丁和发布的代码AND数据库实例!)
许可Oracle更便宜,因为它的价格是每台服务器的价格而不管(或者某些东西 - 我对这个主题一无所知).
数据库成为Web会话数据的可行持久存储,因为只有一个实例.
使用一个多客户端实例可以更轻松地进行某些数据库操作,例如在他们朦胧地找到他们(或他们的配偶)可能工作的客户时找到参与者:所有名称都在一个表中.跨客户报告非常简单.
Q2:在一个实例中拥有多个客户端有哪些其他优势?
问题3:您认为哪种方法更好(为什么)?每个客户的实例,还是一个实例中的所有客户?
我担心有一个多客户端实例使迁移几乎不可能,这是一个交易杀手......
...除非有一个妥协的解决方案,比如有两个多客户端实例,旧的和新的.在这种情况下,我们将设计用于查找参与者,报告等的跨实例解决方案,以便客户可以从一个多客户端实例转到下一个实例,而不会出现任何问题.
我需要以编程方式(T-SQL)还原SQL Server 2008中的数据库备份.此备份来自不同的服务器,原始数据库名称也可能不同.(实际上,我将数据库从某个服务器复制到另一台服务器上的新数据库.)
显然,我必须使用RESTORE DATABASE ... WITH MOVE,哪个有效,但我需要知道应该将文件恢复到哪里以及如何命名它们.尽管搜索,我还没有找到最基本的任务:只使用默认路径和文件名,即执行SQL Server时执行的任何操作CREATE DATABASE- 您不必指定路径命令,为什么需要一个RESTORE?
我是否忽略了一些简单的解决方案,或者我是否真的必须列出文件,以某种方式从SQL Server配置中找到数据库目录,并使用该信息构建RESTORE命令?谢谢.
(与PostgreSQL相比,使用pg_restore时,你指定一个已经创建的目标数据库;当你创建它时,你有选择 - 不是强制性的 - 指定一个非默认的表空间,但是如果你没有,那么你只是不关心文件的物理存储位置.)
我没有做太多的SQL,我仍然很新,所以请原谅可能是一个基本问题.
我被要求研究创建一个SQL作业来备份我们的数据库,将.baks存储在另一台机器上,然后将它们恢复到第二台服务器.我一直在做一些研究和SSMS玩,并通过设置共享和运行备份作业到共享位置将数据库备份到我的个人计算机.我现在正在尝试通过恢复.bak文件创建一个新数据库(在我备份的同一台服务器上)(但是给数据库我正在尝试创建一个新名称而不是什么)但是我无法指定从共享中恢复它,就像我在备份时所做的那样/我无法找到如何指定其他网络位置,而我只是在尝试查找文件时浏览服务器的C驱动器.
现在,我只是使用内置向导来尝试实现这一点(打开SSMS - >连接到服务器 - >右键单击DataBases - > Restore DataBases,然后选择From Device并浏览找到该文件).
这不是最后的过程,只是我试图掌握这是如何工作的.正如我所说,我的想法是最终有一个预定的工作,将数据库从server1备份到我的个人计算机上的.bak,然后将其恢复到server2(不同网络,不同城市)上的数据库,可能,使用一系列SQL命令而不是每次都使用向导(有一些DB最终需要备份).
我为这个可能非常抽象和复杂的问题道歉 - 基本上,我需要知道的是我/如何从另一台机器上的.bak恢复SSMS中的数据库?非常感谢
我收到了一个非常大的mysql备份文件.它是~630 MB ......我想有人认为将图像存储在数据库中是一个好主意......无论如何,我需要在MySQL中以某种方式恢复数据.但由于文件大小,我无法完成它.
起初我尝试使用MySQL Workbench.但是当我尝试导入文件时,它给出了以下错误:
无法分配xxxxx字节来读取文件C:\ backup.sql
然后我试图通过命令提示符来做到这一点.我输入以下内容cmd:
C:\> mysql -u user -pPassword database < C:\backups.sql
Run Code Online (Sandbox Code Playgroud)
这最终给了我以下警告:
ERROR 2006(HY000)第68230行:MySQL服务器已经消失
猜猜那也是因为大文件大小?
我对如何恢复数据没有其他想法.这还有可能吗?
我正在尝试使用.sql.gz文件恢复mysql数据库.我正在使用mySql控制台来运行命令,因为文件大小对于phpMyAdmin来说太大了.我正在使用的命令是
gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd
Run Code Online (Sandbox Code Playgroud)
其中root是用户ID.root没有密码.bd是我要导入的数据库.mysql正在我的本地计算机上运行(Windows 8).我有一个wamp设置.
这是我得到的错误:
错误1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便
'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p'在第1行附近使用正确的语法.
任何帮助将不胜感激.
谢谢和问候,Vikalp Jain
database-restore ×10
mysql ×5
sql-server ×3
database ×2
t-sql ×2
backup ×1
command-line ×1
data-files ×1
linux ×1
mysqldump ×1
oracle ×1
phpmyadmin ×1
pipe ×1
sql ×1
windows ×1