精华内容
下载资源
问答
  • 数据库 单个表的备份 表备份

    千次阅读 2013-11-08 14:21:31
    我们在工作的时候 有时可能需要对单个表进行备份。...需求: 把resource库中的表tb_document备份到resources数据库中去 表结构如下: Id是自增一主键 u_id 是关联users表中的一个外键     法一:SEL

    我们在工作的时候 有时可能需要对单个表进行备份。 这不 我就遇到了这种问题,  各种google baidu 

    最后总算是搞定了 。 hehe

    废话不多说  下面说说我是怎么实现的 。

    需求:  把resource库中的表tb_document备份到resources数据库中去

    表结构如下:

    Id是自增一主键 u_id 是关联users表中的一个外键

     

     

    法一:SELECT * INTO resources.dbo.tb_document FROMresource.dbo.tb_document

    优点:简单快捷

    缺点:改变了表的结构,只是把表里面的数据备份出来了表中的各种关联都没有了。而且在执行sql语句的时候目标表不能存在 sql会自动新建。

    法二:insert into

    resources.dbo.tb_document(d_name,d_url,d_grade,d_course,d_semester,d_author,d_isPublish,d_publishDate,d_downloads,d_info)

    selectd_name,d_url,d_grade,d_course,d_semester,d_author,d_isPublish,d_publishDate,d_downloads,d_info

    from resource.dbo.tb_document

    优点:简单

    缺点: sql 语句比较长,关联关系比较多的表限制比较多在执行sql的时候可能会报各种错误最好是先跳过有关联关系的列

    法三:通过Sql Server Enterprise Manager 管理器操作

    优点:都是界面操作简单快捷而且可以跨主机操作

    缺点:步骤比较繁杂。会生成中间文件

    总结:推荐使用方法二,虽能代码比较长,但可以熟练sql语句也不会生成中间文件。不过法一法二在做跨机器的备份的时候没有三方便(在操作的时候注意关联关系)

    备份

    1)      在Sql Server Enterprise Manager管理器中 找到要备份的表tb_document 选中  右键---->所有任务----->导出数据

     

     

    2) 下一步-----> 下一步到达下图所示的界面修改目的 我们这里选择文本文件 (也可以导出其他格式的数据 自己发挥)

     

     

     

     

     

     

    3) 在本地磁盘上新建一个txt 文档 tb_document.txt能后选择该文件

     

     

    4)下一步-----> 下一步到达下图所示界面源: 选择要备份的表

     

     

    5) 下一步-----> 下一步  一直到出现 完成按钮  点击完成  如果没出错的话会弹出一个成功的界面。

     

     

    备份表tb_document完成。打开保存的文件   表中的数据都备份到该文件中去了

     

     

    恢复:

    很简单和备份差不多

    选择需要恢复的表, 右键----->所有任务----->导入数据----->下一步  

    选择数据源: 文本文件   选择文件  能后就一直下一步 下一步 就好了! 完成后 打开表就能看到数据了

     


    展开全文
  • 您可以使用此代码:此示例获取sugarcrm数据库的备份并将输出转储到sugarcrm.sql# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql# mysqldump -u root -p[root_password] [database_name] > ...

    您可以使用此代码:

    此示例获取sugarcrm数据库的备份并将输出转储到sugarcrm.sql

    # mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

    # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

    sugarcrm.sql将包含sugarcrm数据库中所有表的drop table,create table和insert命令 . 以下是sugarcrm.sql的部分输出,显示了accounts_contacts表的转储信息:

    - 表accounts_contacts的表结构

    DROP TABLE IF EXISTS `accounts_contacts`;

    SET @saved_cs_client = @@character_set_client;

    SET character_set_client = utf8;

    CREATE TABLE `accounts_contacts` (

    `id` varchar(36) NOT NULL,

    `contact_id` varchar(36) default NULL,

    `account_id` varchar(36) default NULL,

    `date_modified` datetime default NULL,

    `deleted` tinyint(1) NOT NULL default '0',

    PRIMARY KEY (`id`),

    KEY `idx_account_contact` (`account_id`,`contact_id`),

    KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    SET character_set_client = @saved_cs_client;

    --

    展开全文
  • 虚拟主机MySQL数据库备份与还原的方法更新时间:2007年07月29日 16:15:31 作者:以前...1、关于备份:我们在使用MySQL中一般都用MyISAM类型的表,这种表是以文件形式保存的文件系统中的;而HEAP类型的表是保存在...

    虚拟主机MySQL数据库的备份与还原的方法

    更新时间:2007年07月29日 16:15:31   作者:

    以前介绍过一个小巧的MYSQL备份PHP脚本程序,不过那适合没有MySQL Shell权限的虚拟主机用户,这里想讲一下更为通用的备份与还原方法,适合有自己主机的朋友。

    1、关于备份:我们在使用MySQL中一般都用MyISAM类型的表,这种表是以文件形式保存的文件系统中的;而HEAP类型的表是保存在内存中的,下面的方法是针对MyISAM表的。

    1.1、直接拷贝数据库文件。首先不推荐使用这种方法,因为拷贝的数据表是针对特定操作系统(硬件环境)的,移到其他系统中有可能会出问题。其次备份时候要停止MYSQL服务器或者锁定相应的表,否则如果拷贝过程中正好在插入/改写数据库就挂了,不适合需要不间断的服务器。这种方法最大好处是方便快捷,备份时候只要拷贝MYSQL数据目录相应数据库文件夹中的所有文件即可,其中*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引。

    1.2、使用MySQLDump工具:利用这个程序可以把数据库导出成SQL语句形式的文本文件,方便移动到不同系统,还原时候会一条条执行文件中的SQL语句即可重建数据库。实际使用时在WINDOWS下CMD里或者LinuxShell输入命令:

    mysqldump -u user_name -p database_name --option > path:/xxx.sql;回车

    ;user_name是用户名

    ;database_name 是数据库名

    ;path:/xxx.sql 是保存备份文件的路径与文件名

    然后输入密码就会导出数据库到指定PATH下的.sql文件了,要保证用户有足够权限访问相应数据库。--option是备份时可以指定的一些参数,可以参考MYSQL官方文档,常用几个选项:

    --opt ——一组常用默认选项,包括--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset

    --add-drop-table ——在建立表时候先DROP旧表,适合覆盖数据库

    --where——按照条件备份部分记录,例如:--where="id<1000'"

    mysqldump工具的参数功能相当多,还需要好好研究下~

    2、关于还原

    2.1、对于直接拷贝数据库文件的方法,把相应文件覆盖回数据目录即可还原。

    2.2、对于DUMP出来的.SQL文件,可以在MYSQL命令行中输入:

    use target_database;选择要还原的数据库,最好新建一个空的

    \. path:/xxx.sql;将指定的备份文件还原到当前数据库

    相关文章

    1a1b05c64693fbf380aa1344a7812747.png

    深入Mysql字符集设置,建议大家看本文之前先看风雪之隅的文章,需要的朋友可以参考下2012-07-07

    4f55910a645b073bc4fc65dc10dc14bd.png

    今天小编就为大家分享一篇关于B-Tree的性质介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01

    0ea3c7666119d5615e582f823fb3fad6.png

    mysql远程登录出错的情况,先比很多朋友都有遇到过吧,下面有个不错的解决方法,大家可以参考下2014-01-01

    4f96a78db829b1556ff16de21e013c7a.png

    这篇文章主要介绍了MySQL的id关联实际优化案例,关联和索引一直是MySQL常见的可优化大块儿,需要的朋友可以参考下2015-05-05

    8cc1031babc6aff2319f1c6af8544aa0.png

    这篇文章主要介绍了在golang中操作mysql数据库的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-09-09

    0c932a99bb7b6f23c937db507070cc7b.png

    这篇文章主要介绍了MySQL主从同步原理介绍,本文讲解了主从同步概述、主从同步需求、主从同步过程等内容,需要的朋友可以参考下2015-07-07

    cca732bf65a93ed2ec0ac80c638460fe.png

    最近在做mysql的性能忧化,做到多表连接查询,比较头疼,看了一些join的资料,终于搞定,这里分享出来!2009-12-12

    2d9f31f2af7b675a3d153d2b7f1035a7.png

    在现在的很多网站中都有这样一个功能。记录用户的连续登陆天数,所谓的连续在线是指相邻两天都登录过,不一定一直在线,但是只要有过登录即可。这篇文章主要介绍的是利用sql语句如何查询在两个日期之间最大的连续登录天数,有需要的朋友们下面来一起看看吧。2016-10-10

    b452cee8ec5cd9e58ab98eba17281e59.png

    这篇文章主要介绍了MySQL下载和安装 win10 64位 MySQL8.0的教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09

    f4838ec7e2d4da28e0b57d4e852dadd4.png

    这篇文章主要给大家介绍了关于MySQL全文索引实现简单版搜索引擎的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-07-07

    最新评论

    展开全文
  • 假设不是系统损坏,而是人为损坏,如手误删除前提条件:假设备份的条件是每天凌晨2点开始备份,周一备份正常,现在是周一下午18点,此时你同事删除了hellodb数据库的中students,而其他没有损坏,可以正常...

    假设不是系统损坏,而是人为损坏,如手误删除表

    前提条件:

    假设备份的条件是每天凌晨2点开始备份,周一备份正常,现在是周一下午18点,此时你的同事删除了hellodb数据库的中students表,而其他表没有损坏,可以正常访问,此时时间18点20分,用户表示不能访问了,

    一、现在开始备份

    mysqldump -A --master-data=2 > /data/backup_`date +%F_%T`.sql

    ll /data/backup_2021-01-07_22\:02\:56.sql

    -rw-r--r-- 1 root root 8445056 Jan 7 22:02 /data/backup_2021-01-07_22:02:56.sql

    注释:-A 全局备份  --master-data=2  备份的时候多加一个注释,注释内容为当前的二进制日志文件的位置

    二、模拟数据库使用中,被删除students表

    MariaDB [hello]> drop tablestudents;

    Query OK,0 rows affected (0.00sec)

    MariaDB[hello]> select * fromstudnets;

    ERROR1146 (42S02): Table 'hello.studnets' doesn't exist

    三、其他表正常使用,模拟teachers表正在新增数据

    MariaDB [hello]> insert teachers (name,age)values('WoShiCeSi',100);

    a82f1b5be5d3c11843f39fc120e4dbaf.png

    注释:此处可以看到students表已经找不到了,而teachers表汇总被新增了一条数据

    四、开始恢复数据

    1、第一步:通过防火墙或者数据库配置做限制用户访问(此处数据库配置文件中修改为只能使用本地套接字连接)

    vim /etc/my.cnf

    skip-networking

    2、第二步:查看之前二进制日志文件的位置在哪

    vim /data/backup_2021-01-07_22\:02\:56.sql

    --CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000009', MASTER_LOG_POS=245;

    注释:此处用vim不用cat 是因为cat直接显示的是最后一页,但我们需要的信息在第一页,可以直接查看到需要的信息

    3、第三步:生成一个新的日志文件

    flush logs;

    show master logs;+------------------+-----------+

    | Log_name | File_size |

    +------------------+-----------+

    | mysql-bin.000001 | 1175 |

    | mysql-bin.000002 | 30379 |

    | mysql-bin.000003 | 1038814 |

    | mysql-bin.000004 | 1565 |

    | mysql-bin.000005 | 264 |

    | mysql-bin.000006 | 245 |

    | mysql-bin.000007 | 30379 |

    | mysql-bin.000008 | 1038814 |

    | mysql-bin.000009 | 833 |

    | mysql-bin.000010 | 245 |

    +------------------+-----------+

    注释:刚刚记录的日志位置是在mysql-bin.000009的245位置,而mysql-bin.000010是刚刚新生成的,只需要恢复这中间的信息就行。

    4、第四步:把刚刚的定位的二进制日志文件从245开始给他导出来

    mysqlbinlog --start-position=245 /data/logbin/mysql-bin.000009 > /data/inc.sql

    5、第五步:以防万一的话可以备份一下这个导出的二进制日志文件(也可以省略这一步)

    cp /data/inc.sql /data/inc_backup.sql

    6、第六步:修改之前导出的二进制文件,找到中间删除表的那行

    vim /data/inc.sql

    通过vim中带的命令来查看出/DROP 开头的命令(此处不确定是用大写还是小写删除的,可以两个都试一下)

    /DROP或者/drop

    3972dcf58ad1cda1fedf1ab86bd2f118.png

    7、第七步:找到了删除表的这行命令,加#号注销掉或者删除这行命令

    e9da3bce397ced60b801e0781bdb9ccd.png

    8、第八步:下面开始还原:

    比较简单的方式是直接把整个库删干净在还原,

    直接还原,是覆盖库,如果里面有表的话会删除掉现存的表,然后在恢复过去

    rm -rf /var/lib/mysql/*

    注释:此处直接删除掉了数据库里的数据文件

    9、第九步:重新启动服务

    systemctl restart mariadb

    10、第十步:进入数据库中先临时关闭继续生成新的二进制日志文件

    MariaDB [(none)]> set sql_log_bin=0;

    11、第十一步:开始还原数据

    MariaDB [test]> source /data/backup_2021-01-07_22:02:56.sql

    MariaDB[hello]> source /data/inc.sql

    注释:先恢复数据库文件,在恢复二进制日志里的文件,此处在哪个库中并没有关系

    五、查看数据是否恢复(包括students表被删除后,这段空白时间的数据)

    select * fromstudents;select * from teachers;

    1ea9d557a668035082079ec7cbf0a648.png

    六、恢复完成,先让二进制日志文件继续记录,然后关掉之前的用户访问限制

    set sql_log_bin=on

    vim /etc/my.cnf

    #skip-networking

    展开全文
  • 反62616964757a686964616fe78988e69d8331333365643637之,则表明mysql数据库中的表有损坏。另外有些厉害的高手一额可以通过运行脚本来检测。MyISAM表可以采用以下方法进行修复:使用reapair table或myisamchk来修复...
  • 但要注意以下几点:对于对象属性值读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB直接通过属性名称取值或赋值。例如:Worksheet.GetCount(), Worksheet.SetName(“...
  • 1、我把软件的注册信息写在了系统的master数据库中的一个表里,假设为 zcinfo,请问如何才能备份这个中的内容和恢复呢?写在master里的原因,是因为我的系统是多帐套的,避免多次重复注册。 2、我本地的 ...
  • 简单用例说明:导入、导出数据库导出: mysqldump -uroot db1 >... db1.sql (注test为database名,将db1所有的表及数据导入到test数据库)导入、导出表导出:mysqldump -uroot db1 tb1 tb2>tables.sql(注db...
  • 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:(1)备份数据库文件MySQL中的每一个数据库和数据分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在...
  • 随着软件自动化程度日益提高,软件开发发现数据库的时时维护是一个严峻问题,最近一个项目发现部分丢失主键,一些手写存储过程被改写为工具自动生成.怎么自动备份和实现数据库改动增量备份 ? 寻求DTS ...
  • 1.备份数据库MySQL数据库建立后,我们需要经常备份数据库,以确保数据在遭受损失后能最大程度恢复。...在MySQL-Front,可以将整个数据库导出为一个SQL文件或其它类型文件,也可以单独将一个导出...
  • 方法思想:如果人要去创造一个一模一样的Sq文件要怎么做呢,可以直接复制,还可以在数据库按照先前创造表的步骤重来一遍,这就是本次代码的思想,将一个要备份的表用sql表示,进而写入文件 // 数据库备份 /* ...
  • 如果tb1和tb2的结构是完全一样的,则使用以下的命令就可以将tb1中的数据导入到tb2中:insert into db2.tb2 select * from db1.tb12. 如果tb1和tb2只有部分字段是相同的,要实现将tb1中的部分字段导入到tb2...
  • 原标题:数据库表记录删除怎么恢复? [故障类别](一)故障类型:数据库表记录删除(二)典型特征:1.数据表中无任何数据或只有部分数据2.客户端无法查询到完整信息(三)损坏程度星级评价:★★★★[解决方案](一)...
  • 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:(1)备份数据库文件MySQL中的每一个数据库和数据分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在...
  • 仅上备份锁请点击输入图片描述若有非InnoDB,上全局锁请点击输入图片描述特性2:Redo Log ArchivingMEB能做到在线热备,备份时不影响数据库读写,这是利用了InnoDB事务日志,在备份期间持续监视redo log变化,...
  • phpmyadmin是项目开发最常用的数据库管理器之一。我们可以通过phpmyadmin对数据库进行创建、备份,导入导出等操作。下面本篇文章就来给大家介绍一下phpmyadmin怎么导出数据库?phpmyadmin导出数据库的操作步骤:...
  • 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:MySQL中的每一个数据库和数据分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视...
  • 而我们备份时,通常采用完全备份,将所有database都备份到一个文件。但是,偶尔会遇到只恢复一个database或者一个表的情况。怎么解决呢?一、利用全备恢复一个库(database)数据案例:朋友在群里问, MySQL全...
  • 简单用例说明:导入、导出数据库导出: mysqldump -uroot db1 >... db1.sql (注test为database名,将db1所有的表及数据导入到test数据库)导入、导出表导出:mysqldump -uroot db1 tb1 tb2>tables.sql(注db...
  • 数据库的备份记录保存在msdb数据库的backupset表中,通过查看备份记录,我们可以得到数据库增长粗略估计。 查看脚本如下: 代码如下:select BackupDate = convert(varchar(10),backup_start_date, 111) ,...
  • 前言工作遇到批量往数据库插入全量数据情况,在插入之前,需要删除原有数据,在删除之前,需要备份老数据。mysql自带导出数据工具mysqldump,它命令如下:命令mysqldump -u用戶名 -p密码 -d 数据库名 表名 &...
  • 附加数据库 或者导入数据库SQL本身有数据...BAK(不是DOE数据库的备份文件)导入另外数据(即导入后在DOE增加一些数据表中已录有数据),并保持原DOE数据不变。1、首先,在“SQL企业管理器”新建一个临时...
  • 一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误:◆ “tbl_name.frm”被锁定不能改变。◆ 不能找到文件“tbl_name.MYI”(Errcode :### )。◆ 从表处理器的得到错误###(此时,错误135是...
  • plsqldev怎么备份和还原数据库

    千次阅读 2011-04-28 09:27:00
    一、 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。... (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导
  • 打开dede_admin数据: 进入你MYSQL后台,然后在你的数据库,找到dede_admin这项,pwd下值就是你密码,织梦密码采取是MD5加密。 第二步: 重置管理员密码为admin: dede_admin这这项下,点“编辑按钮...
  • Navicat for PostgreSQL一套适用于PostgreSQL数据库系统地图形化数据库管理、报告以及监控工具。新版本具有高性能、具有商业智能、强大的备份功能,此外还有许多... 分析数据库和分析 收集内容统计...
  • 1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORTDUMP FILE),并将重新生成数据库写入文件中。它有三种模式:a.用户模式:导出用户所有对象以及对象中的数据;b.模式:导出用户所有...
  • 多表操作在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 325
精华内容 130
关键字:

数据库中的表怎么备份