我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

数据库备份还原(mysql数据库恢复数据)_1876人推荐

这个是2000的恢复步骤,2005想来差不了多少吧在SQL2000中用备份*.bak文件恢复数据库1.右击SQLServer2000实例下的“数据库”文件夹。就是master等数据库上一级的那个图标。选择“所有任务”,“还原数据库”2.在“还原为数据库”中填上你希望恢复的数据库名字。这个名字应该与你的源码中使用的数据库名字一致。3.在弹出的对话框中,选“从设备”4.点击“选择设备”5.点击“添加”6.点击“文件名”文本框右侧的“...”按钮,选中你的“.BAK”文件,并点击确定回到“选择还原设备”对话框。7.点击确定回到“还原数据库”对话框。 8.点击“选项”选项卡9.将所有“移至物理文件名”下面的路径,改为你想还原后的将数据库文件保存到的路径(文件夹一定要存在噢,不存在就创建一个吧,否则会报错误的)。如果你不希望改变,可以直接点击确定。这时便恢复成功了这个是2000的恢复步骤,2005想来差不了多少吧在SQL2000中用备份*.bak文件恢复数据库1.右击SQLServer2000实例下的“数据库”文件夹。就是master等数据库上一级的那个图标。选择“所有任务”,“还原数据库”2.在“还原为数据库”中填上你希望恢复的数据库名字。这个名字应该与你的源码中使用的数据库名字一致。 3.在弹出的对话框中,选“从设备”4.点击“选择设备”5.点击“添加”6.点击“文件名”文本框右侧的“...”按钮,选中你的“.BAK”文件,并点击确定回到“选择还原设备”对话框。7.点击确定回到“还原数据库”对话框。8.点击“选项”选项卡9.将所有“移至物理文件名”下面的路径,改为你想还原后的将数据库文件保存到的路径(文件夹一定要存在噢,不存在就创建一个吧,否则会报错误的)。如果你不希望改变,可以直接点击确定。这时便恢复成功了。 MySQL数据库备份与还原备份和恢复数据生成SQL脚本在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。mysqldump–u用户名–p密码数据库名>生成的脚本文件路径现在可以在C盘下找到mydb1.sql文件了!注意,mysqldump命令是在Windows控制台下执行,无需登录mysql!!!执行SQL脚本执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!SOURCEC:\mydb1.sql注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在createtablea的语句,而当前数据库中已经存在了a表,那么就会出错!还可以通过下面的方式来执行脚本文件:mysql-uroot-p123mydb1 现在来讲一下mysqldump的一些主要参数:?--compatible=name它告诉mysqldump,导出的数据将和哪种数据库或哪个旧版本的mysql服务器相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。?--complete-insert,-c导出的数据采用包含字段名的完整insert方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。 ?--default-character-set=charset指定导出数据时采用何种字符集,如果数据表不是采用默认的latin1字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。?--disable-keys告诉mysqldump在insert语句的开头和结尾增加/*!40000altertabletabledisablekeys*/;和/*!40000altertabletableenablekeys*/;语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合myisam表。?--extended-insert=true|false默认情况下,mysqldump开启--complete-insert模式,因此不想用它的的话,就使用本选项,设定它的值为false即可。?--hex-blob使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。 影响到的字段类型有binary、varbinary、blob。?--lock-all-tables,-x在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction和--lock-tables选项。?--lock-tables它和--lock-all-tables类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于myisam表,如果是innodb表可以用--single-transaction选项。 ?--no-create-info,-t只导出数据,而不添加createtable语句。?--no-data,-d不导出任何数据,只导出数据库表结构。?--opt这只是一个快捷选项,等同于同时添加--add-drop-tables--add-locking--create-option--disable-keys--extended-insert--lock-tables--quick--set-charset选项。本选项能让mysqldump很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用--skip-opt禁用。 注意,如果运行mysqldump没有指定--quick或--opt选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。?--quick,-q该选项在导出大表时很有用,它强制mysqldump从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。?--routines,-r导出存储过程以及自定义函数。?--single-transaction该选项在导出数据之前提交一个beginsql语句,begin不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如innodb和bdb。 本选项和--lock-tables选项是互斥的,因为locktables会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick选项。?--triggers同时导出触发器。该选项默认启用,用--skip-triggers禁用它。其他参数详情请参考手册,我通常使用以下sql来备份myisam表:/usr/local/mysql/bin/mysqldump-uyejr-pyejr--default-character-set=utf8--opt--extended-insert=false\--triggers-r--hex-blob-xdb_name>db_name.sql使用以下sql来备份innodb表:/usr/local/mysql/bin/mysqldump-uyejr-pyejr--default-character-set=utf8--opt--extended-insert=false\--triggers-r--hex-blob--single-transactiondb_name>db_name.sql1.2还原用mysqldump备份出来的文件是一个可以直接倒入的sql脚本,有两种方法可以将数据导入。?直接用mysql客户端例如:/usr/local/mysql/bin/mysql-uyejr-pyejrdb_namemysqldump--quickdb_name|gzip>db_name.contents.gz(该例子中创建的文件是压缩格式)。 恢复/转移到另一台的命令如下:shell>gunzip 备份出来的binlog文件可以用mysql提供的工具mysqlbinlog来查看,如:/usr/local/mysql/bin/mysqlbinlog/tmp/binlog.000001该工具允许你显示指定的数据库下的所有sql语句,并且还可以限定时间范围,相当的方便,详细的请查看手册。恢复时,可以采用类似以下语句来做到:/usr/local/mysql/bin/mysqlbinlog/tmp/binlog.000001|mysql-uyejr-pyejrdb_name把mysqlbinlog输出的sql语句直接作为输入来执行它。如果你有空闲的机器,不妨采用这种方式来备份。由于作为slave的机器性能要求相对不是那么高,因此成本低,用低成本就能实现增量备份而且还能分担一部分数据查询压力,何乐而不为呢?5、直接备份数据文件相较前几种方法,备份数据文件最为直接、快速、方便,缺点是基本上不能实现增量备份。为了保证数据的一致性,需要在靠背文件前,执行以下sql语句:flushtableswithreadlock;也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。 注意,对于innodb类型表来说,还需要备份其日志文件,即ib_logfile*文件。因为当innodb表损坏时,就可以依靠这些日志文件来恢复。6、备份策略对于中等级别业务量的系统来说,备份策略可以这么定:第一次全量备份,每天一次增量备份,每周再做一次全量备份,如此一直重复。而对于重要的且繁忙的系统来说,则可能需要每天一次全量备份,每小时一次增量备份,甚至更频繁。为了不影响线上业务,实现在线备份,并且能增量备份,最好的办法就是采用主从复制机制(replication),在slave机器上做备份。 7、数据维护和灾难恢复作为一名dba(我目前还不是,呵呵),最重要的工作内容之一是保证数据表能安全、稳定、高速使用。因此,需要定期维护你的数据表。以下sql语句就很有用:checktable或repairtable,检查或维护myisam表optimizetable,优化myisam表analyzetable,分析myisam表当然了,上面这些命令起始都可以通过工具myisamchk来完成,在这里不作详述。innodb表则可以通过执行以下语句来整理碎片,提高索引速度:altertabletbl_nameengine=innodb;这其实是一个null操作,表面上看什么也不做,实际上重新整理碎片了。通常使用的myisam表可以用上面提到的恢复方法来完成。如果是索引坏了,可以用myisamchk工具来重建索引。 而对于innodb表来说,就没这么直接了,因为它把所有的表都保存在一个表空间了。不过innodb有一个检查机制叫模糊检查点,只要保存了日志文件,就能根据日志文件来修复错误。可以在my.cnf文件中,增加以下参数,让mysqld在启动时自动检查日志文件:innodb_force_recovery=4关于该参数的信息请查看手册。有点长慢慢看对你应该有帮助。备份数据库使用mysqldump命令备份数据库还原数据库1、使用mysql命令还原数据库将game_backup.sql还原至game数据库:2、使用source命令还原数据库如果数据库过大,建议可以使用source命令。 MySQL有一种非常简单的备份方法,先将服务器停止,然后将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。*将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。恢复也一样,先将服务器停止,然后将备份的数据库覆盖同名的数据库即可。 以下的文章主要介绍的是MySQLAdministrator备份与还原数据库,随着PHP技术的逐步发展,MySQL数据库的使用率也成上升趋势。可MySQL数据库的实际操作一般都是基于命令行的,而没有像微软MSSQL数据库的企业管理器这样的GUI可视图形化工具操作来的容易方便。一般的情况下,我们可以使用PHPMYADMIN这样的PHP脚本工具来操作MySQL数据库,可PHPMYADMIN也不是GUI工具。为了更方便地操作MySQL数据库,飘易今天就给大家介绍一款管理MySQL的可视化图形工具:MySQLAdministrator。这是一款和管理MSSQL的企业管理器一样方便的本地操作MySQL的有效工具。很重要的是,MySQLAdministrator不会出现像使用SQLyog(同样是管理MySQL的GUI工具)时经常会遇到的中文乱码问题,要知道中文网站数据库使用不当的话都会出现中文乱码的问题。 所以,我们使用MySQLAdministrator工具,就有效地避免出现中文乱码的问题还原数据库了。飘易手里头使用的是MySQLAdministrator5.0r16这个版本。原始的官方网址选择Windows(x86)下载,目前最新版本是5.0-r17,大约17MB。利用这个软件备份MySQL数据库,还原MySQL数据库,管理MySQL将变得十分简单易行,就像使用MSSQL的企业管理器一样方便。一,登陆,填写数据库IP,用户名和密码二,登陆成功后,显示以下信息:三,查看已经存在的数据库选择“Catalogs”将列出数据库。点左下脚数据库列表中你开通的“数据库名”,右边将显示出数据库中已经存在的数据库表,如果是新数据库,右边是空的。 四,备份数据库到本地计算机硬盘备份数据库到本地计算机硬盘,选择“Backup”备份数据库功能,然后点击“NewProject”建立新的备份项目。选择要备份的数据库,然后点>号,右边将显示出数据库表结构。备份选项:点“AdvancedOptions”高级选项,选择“Normalbackup”备份的时候选择正常备份,选择“Completebackup”选择完整备份,也可以选择“InnoDBOnlineBackup”,这是一种在线简单的备份方式;BackupType备份方式选择SQLFiles,点“ExecuteBackupNow”立刻开始备份数据库。五,选择“Restore”还原数据库功能点“OpenBackupFile”,找到以前备份的数据库脚本文件,选择并打开文件,点“StartRestore”后开始还原,还原成功。这里在还原的时候需要注意的有两点:1,“TargetSchema”默认数据库项这里,如果你没有MySQL服务器root权限,比如你是虚拟主机分配的一个子账户,此时你必须选择“anotherschema”里的数据库名,而不能选择“originalschema”选项,否则数据库备份还原还原失败出错;2,“FILECHARSET”选项默认utf8,请不要更改,否则也会出现中文乱码问题。MySQLAdministrator不仅可以备份、还原MySQL数据库,同样也可以对MySQL进行方便地维护和管理,比如修改增加字段等。 另外,这里还有一篇如何使用MySQLAdministrator管理/备份/还原MySQL数据库的文章,大家也可以看看。可以用mysqldump工具简单用例说明:导入、导出数据库导出:mysqldump-urootdb1>db1.sql(注db1为database名)导入:mysql-uroottesttables.sql(注db1为database名,tb1tb2为要导出的表列表,中间用空格隔开)导入:mysql-uroottest (默认为打开状态,使用--skip-add-drop-table取消选项)mysqldump-uroot-p--all-databases(默认添加drop语句)mysqldump-uroot-p--all-databases–skip-add-drop-table(取消drop语句)--databases,-b导出几个数据库。参数后面所有名字参量都被看作数据库名。mysqldump-uroot-p--databasestestmysql--no-data,-d不导出任何数据,只导出数据库表结构。mysqldump-uroot-p--host=localhost--all-databases--no-data--host,-h需要导出的主机信息mysqldump-uroot-p--host=localhost--all-databases--password,-p连接数据库密码--port,-p连接数据库端口号--set-charset添加'setnamesdefault_character_set'到输出文件。默认为打开状态,使用--skip-set-charset关闭选项。mysqldump-uroot-p--host=localhost--all-databasesmysqldump-uroot-p--host=localhost--all-databases--skip-set-charset--tables覆盖--databases(-b)参数,指定需要导出的表名。 mysqldump-uroot-p--host=localhost--databasestest--tablestest--user,-u指定连接的用户名。 SQLServer2008备份数据库:1.打开SQL,找到要备份的数据库,右键>>任务>>备份2.弹出[备份数据库对话框],如图:3.点击添加[按钮].如下图:4.选择要备份的路径和备份的文件名点击[确定].5.然后就一直点击确定就可以了.然后我们来到D:看看6.这个时候,你可以把它压缩打包什么的,要用的时候,在文件后面加.bak后缀就可以用SQL来还原了,还原可以来看这里~SQLServer2008还原数据库:1.得到数据库备份文件,怎么得到的,可以看上面的数据库备份方法2.把备份文件加个.bak的后缀,例如:3.打开SQL,你可以新建一个空数据库,或者利用原有的数据库,点击右键>>任务>>还原>>数据库4.弹出[还原数据库]对话框,在常规选择页中,操作如下:5.在[选项]选择页中,操作:6.直接按确定就可以了(PS:之前还原第一次的时候发生了错误,我用了sa登录,可能是权限问题报错了,后来用WINDOWS身份认证的才得).注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:189034526欢迎你的加入。方法倒是多,首先大家都是2005如果是比你低的2000就那不行。然后对着你要备份的数据库右键,任务,备份,然后确定。还原就数据库右键,任务,还原,悬着路径,确定。方法二,直接关掉sqlserver服务,然后复制数据库相关的mdfndfldf,然后把它传给另外台机器,然后在另外一台电脑上右键数据库,附加数据库。 Sqlserver还原数据库,使用“附加”就可以实现,接下来我们来看一下如何实现工具/材料SQLServer2008方法1、以新闻管理数据库为例在成功登录数据库之后,如图所示,选中“数据库”,右键,选择“附加”2、选择“附加”之后,会出现下图所示的窗口,点击“添加”3、出现下图所示窗体在“选择文件”下找到要回复的数据库的路径,然后点击确定4、如图,我们在“要附加的数据库”一栏就可以看到添加的数据库,然后点击“确定”,就可以将数据库加到到sqlserver中了.。打开sqlservermanagementstudio登陆数据库,选中要还原的数据库,右键--任务--还原---数据库,点击选项--覆盖现有数据库---确定如果数据库源是从别的地方拷来的,就需要在常规里选择源设备,找到数据库文件,然后在点击选项---覆盖现有数据库---确定。

在线留言