您当前的位置:首页 > 美文摘抄 > 内容

mysql备份数据(备份mysql数据)

本文目录

  • 备份mysql数据
  • mysql到底如何备份
  • 如何实现Mysql数据库每天自动备份定时备份
  • Mysql数据库备份工具有哪些
  • mysql 怎么备份数据库
  • 请问mysql怎么自动备份数据库
  • mysql数据库如何备份
  • mysql大数据库备份什么软件好用
  • mysql中备份数据库的命令是
  • mysql备份方式有哪些

备份mysql数据

其实你的这个问题是mysql中的一个核心问题,既mysql数据的备份和恢复你可以使用三种方式1.使用sql语句导入导出2.使用mysqldump 和mysqlimport 工具3.直接copy 数据文件 既冷备份你说说的详细,就给积分,那我就说详细些一.使用sql语句完成mysql的备份和恢复你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。语法:SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_nameLOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]INTO TABLE tbl_nameSELECT ... INTO OUTFILE ’file_name’格式的SELECT语句将选择的行写入一个文件。文件在服务器主机上被创建,并且不能是已经存在的(不管别的,这可阻止数据库表和文件例如“/etc/passwd”被破坏)。SELECT ... INTO OUTFILE是LOAD DATA INFILE逆操作。LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上。(LOCAL在MySQL3.22.6或以后版本中可用。)为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用LOAD DATA INFILE,在服务器主机上你必须有file的权限。使用这种SELECT INTO OUTFILE语句,在服务器主机上你必须有FILE权限。为了避免重复记录,在表中你需要一个PRIMARY KEY或UNIQUE索引。当在唯一索引值上一个新记录与一个老记录重复时,REPLACE关键词使得老记录用一个新记录替代。如果你指定IGNORE,跳过有唯一索引的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复索引值时,出现一个错误,并且文本文件的余下部分被忽略时。如果你指定关键词LOW_PRIORITY,LOAD DATA语句的执行被推迟到没有其他客户读取表后。 使用LOCAL将比让服务器直接存取文件慢些,因为文件的内容必须从客户主机传送到服务器主机。在另一方面,你不需要file权限装载本地文件。如果你使用LOCAL关键词从一个本地文件装载数据,服务器没有办法在操作的当中停止文件的传输,因此缺省的行为好像IGNORE被指定一样。当在服务器主机上寻找文件时,服务器使用下列规则:  如果给出一个绝对路径名,服务器使用该路径名。  如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。  如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。假定表tbl_name具有一个PRIMARY KEY或UNIQUE索引,备份一个数据表的过程如下:1、锁定数据表,避免在备份过程中,表被更新mysql》LOCK TABLES READ tbl_name;关于表的锁定的详细信息,将在下一章介绍。2、导出数据mysql》SELECT * INTO OUTFILE ‘tbl_name.bak’ FROM tbl_name;3、解锁表mysql》UNLOCK TABLES;相应的恢复备份的数据的过程如下:1、为表增加一个写锁定:mysql》LOCK TABLES tbl_name WRITE;2、恢复数据mysql》LOAD DATA INFILE ‘tbl_name.bak’ -》REPLACE INTO TABLE tbl_name;如果,你指定一个LOW_PRIORITY关键字,就不必如上要对表锁定,因为数据的导入将被推迟到没有客户读表为止:mysql》LOAD DATA LOW_PRIORITY INFILE ‘tbl_name’ -》REPLACE INTO TABLE tbl_name;3、解锁表mysql-》UNLOCAK TABLES; 5.3.2使用mysqlimport恢复数据如果你仅仅恢复数据,那么完全没有必要在客户机中执行SQL语句,因为你可以简单的使用mysqlimport程序,它完全是与LOAD DATA 语句对应的,由发送一个LOAD DATA INFILE命令到服务器来运作。执行命令mysqlimport --help,仔细查看输出,你可以从这里得到帮助。shell》 mysqlimport [options] db_name filename ...对于在命令行上命名的每个文本文件,mysqlimport剥去文件名的扩展名并且使用它决定哪个表导入文件的内容。例如,名为“patient.txt”、“patient.text”和“patient”将全部被导入名为patient的一个表中。 常用的选项为:-C, --compress 如果客户和服务器均支持压缩,压缩两者之间的所有信息。-d, --delete 在导入文本文件前倒空表格。l, --lock-tables 在处理任何文本文件前为写入所定所有的表。这保证所有的表在服务器上被同步。--low-priority,--local,--replace,--ignore分别对应LOAD DATA语句的LOW_PRIORITY,LOCAL,REPLACE,IGNORE关键字。例如恢复数据库db1中表tbl1的数据,保存数据的文件为tbl1.bak,假定你在服务器主机上:shell》mysqlimport --lock-tables --replace db1 tbl1.bak这样在恢复数据之前现对表锁定,也可以利用--low-priority选项:shell》mysqlimport --low-priority --replace db1 tbl1.bak如果你为远程的服务器恢复数据,还可以这样:shell》mysqlimport -C --lock-tables --replace db1 tbl1.bak当然,解压缩要消耗CPU时间。象其它客户机一样,你可能需要提供-u,-p选项以通过身分验证,也可以在选项文件my.cnf中存储这些参数,具体方法和其它客户机一样,这里就不详述了。二、使用mysqldump备份数据同mysqlimport一样,也存在一个工具mysqldump备份数据,但是它比SQL语句多做的工作是可以在导出的文件中包括SQL语句,因此可以备份数据库表的结构,而且可以备份一个数据库,甚至整个数据库系统。mysqldump [OPTIONS] database [tables]mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]mysqldump [OPTIONS] --all-databases [OPTIONS]如果你不给定任何表,整个数据库将被倾倒。 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 1、备份数据库的方法例如,假定你在服务器主机上备份数据库db_nameshell》 mydqldump db_name当然,由于mysqldump缺省时把输出定位到标准输出,你需要重定向标准输出。例如,把数据库备份到bd_name.bak中:shell》 mydqldump db_name》db_name.bak你可以备份多个数据库,注意这种方法将不能指定数据表:shell》 mydqldump --databases db1 db1》db.bak你也可以备份整个数据库系统的拷贝,不过对于一个庞大的系统,这样做没有什么实际的价值:shell》 mydqldump --all-databases》db.bak虽然用mysqldump导出表的结构很有用,但是恢复大量数据时,众多SQL语句使恢复的效率降低。你可以通过使用--tab选项,分开数据和创建表的SQL语句。-T,--tab= 在选项指定的目录里,创建用制表符(tab)分隔列值的数据文件和包含创建表结构的SQL语句的文件,分别用扩展名.txt和.sql表示。该选项不能与--databases或--all-databases同时使用,并且mysqldump必须运行在服务器主机上。例如,假设数据库db包括表tbl1,tbl2,你准备备份它们到/var/mysqldbshell》mysqldump --tab=/var/mysqldb/ db其效果是在目录/var/mysqldb中生成4个文件,分别是tbl1.txt、tbl1.sql、tbl2.txt和tbl2.sql。2、mysqldump实用程序时的身份验证的问题 同其他客户机一样,你也必须提供一个MySQL数据库帐号用来导出数据库,如果你不是使用匿名用户的话,可能需要手工提供参数或者使用选项文件:如果这样:shell》mysql -u root –pmypass db_name》db_name.sql或者这样在选项文件中提供参数:[mysqldump]user=rootpassword=mypass然后执行shell》mysqldump db_name》db_name.sql那么一切顺利,不会有任何问题,但要注意命令历史会泄漏密码,或者不能让任何除你之外的用户能够访问选项文件,由于数据库服务器也需要这个选项文件时,选项文件只能被启动服务器的用户(如,mysql)拥有和访问,以免泄密。在Unix下你还有一个解决办法,可以在自己的用户目录中提供个人选项文件(~/.my.cnf),例如,/home/some_user/.my.cnf,然后把上面的内容加入文件中,注意防止泄密。在NT系统中,你可以简单的让c:\my.cnf能被指定的用户访问。你可能要问,为什么这么麻烦呢,例如,这样使用命令行:shell》mysql -u root –p db_name》db_name.sql或者在选项文件中加入[mysqldump]user=rootpassword然后执行命令行:shell》mysql db_name》db_name.sql你发现了什么?往常熟悉的Enter password:提示并没有出现,因为标准输出被重定向到文件db_name.sql中了,所以看不到往常的提示符,程序在等待你输入密码。在重定向的情况下,再使用交互模式,就会有问题。在上面的情况下,你还可以直接输入密码。然后在文件db_name.sql文件的第一行看到:Enter password:#……..你可能说问题不大,但是mysqldump之所以把结果输出到标准输出,是为了重定向到其它程序的标准输入,这样有利于编写脚本。例如:用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的: shell》mysqldump --opt database | mysql --host=remote-host -C database如果mysqldump仍运行在提示输入密码的交互模式下,该命令不会成功,但是如果mysql是否运行在提示输入密码的交互模式下,都是可以的。 如果在选项文件中的[client]或者[mysqldump]任何一段中指定了password选项,且不提供密码,即使,在另一段中有提供密码的选项password=mypass,例如[client]user=rootpassword[mysqldump]user=adminpassword=mypass那么mysqldump一定要你输入admin用户的密码:mysql》mysqldump db_name即使是这样使用命令行:mysql》mysqldump –u root –ppass1 db也是这样,不过要如果-u指定的用户的密码。其它使用选项文件的客户程序也是这样3、有关生成SQL语句的优化控制--add-locks 生成的SQL 语句中,在每个表数据恢复之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。 --add-drop-table 生成的SQL 语句中,在每个create语句之前增加一个drop table。 -e, --extended-insert 使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句) 下面两个选项能够加快备份表的速度:-l, --lock-tables. 为开始导出数据前,读锁定所有涉及的表。-q, --quick 不缓冲查询,直接倾倒至stdout。理论上,备份时你应该指定上诉所有选项。这样会使命令行过于复杂,作为代替,你可以简单的指定一个--opt选项,它会使上述所有选项有效。例如,你将导出一个很大的数据库:shell》 mysqldump --opt db_name 》 db_name.txt当然,使用--tab选项时,由于不生成恢复数据的SQL语句,使用--opt时,只会加快数据导出。4、恢复mysqldump备份的数据由于备份文件是SQL语句的集合,所以需要在批处理模式下使用客户机 如果你使用mysqldump备份单个数据库或表,即:shell》mysqldump --opt db_name 》 db_name.sql由于db_name.sql中不包括创建数据库或者选取数据库的语句,你需要指定数据库shell》mysql db2 《 db_name.sql 如果,你使用--databases或者--all-databases选项,由于导出文件中已经包含创建和选用数据库的语句,可以直接使用,不比指定数据库,例如:shell》mysqldump --databases db_name 》 db_name.sqlshell》mysql 《db_name.sql 如果你使用--tab选项备份数据,数据恢复可能效率会高些例如,备份数据库db_name后在恢复:shell》mysqldump --tab=/path/to/dir --opt test如果要恢复表的结构,可以这样:shell》mysql 《 /path/to/dir/tbl1.sql…如果要恢复数据,可以这样shell》mysqlimport -l db /path/to/dir/tbl1.txt…如果是在Unix平台下使用(推荐),就更方便了:shell》ls -l *.sql | mysql dbshell》mysqlimport --lock-tables db /path/to/dir/*.txt三 .用直接拷贝的方法备份恢复根据本章前两节的介绍,由于MySQL的数据库和表是直接通过目录和表文件实现的,因此直接复制文件来备份数据库数据,对MySQL来说特别方便。而且自MySQL 3.23起MyISAM表成为缺省的表的类型,这种表可以为在不同的硬件体系中共享数据提供了保证。使用直接拷贝的方法备份时,尤其要注意表没有被使用,你应该首先对表进行读锁定。备份一个表,需要三个文件:对于MyISAM表:tbl_name.frm 表的描述文件tbl_name.MYD 表的数据文件tbl_name.MYI 表的索引文件对于ISAM表:tbl_name.frm 表的描述文件tbl_name.ISD 表的数据文件tbl_name.ISM 表的索引文件你直接拷贝文件从一个数据库服务器到另一个服务器,对于MyISAM表,你可以从运行在不同硬件系统的服务器之间复制文件像你这个问题,可以把远程机器的mysql数据目录ftp下载到你本地的mysql目录下,重启mysql就可以了

mysql到底如何备份

数据备份是数据容灾的最后一道防线,即便有着两地三中心的架构,备份也依然重要。如果备份出问题,备份时影响了交易业务,备份数据无法恢复,这些也是企业难以承受的。所以选择合适的备份工具尤为重要。

每个企业级数据库都会有配套的备份工具,MEB(MySQL Enterprise Backup)就是MySQL企业版中非常重要的工具之一,是为企业级客户提供的数据备份方案。

Xtrabackup一直作为MEB 开源版备胎而存在,从MySQL 8.0开始情况可能会变得有所不同。

在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB备份/恢复体验会更好,目前xtrabackup还不支持这些特性。

MySQL 企业版还有哪些功能?

特性1:Backup Lock

8.0之前使用xtrabackup或MEB做物理备份,为了保证备份时InnoDB引擎表与其他引擎数据文件、及binlog日志的一致性会上全局读锁,再拷贝非InnoDB文件,这期间MySQL会变成只读,数据无法写入。表数量越多,可能加上时间越长,如果使用的xtrabackup 不小心没加rsync参数,逐个拷贝frm文件,锁定时间会更长,对业务影响较大。

我曾遇到过部署在虚拟机的实例有12000多张表,当时使用的xtrabackup,备份脚本中没加rsync参数,结果锁了十几分钟,而MEB就没有这样的问题。

MySQL 8.0支持轻量级备份锁 LOCK INSTANCE FOR BACKUP,数据字典也重构了由InnoDB存储。若不创建非InnoDB表,MEB默认使用备份锁获取binlog日志一致性位置,并阻止DDL操作,但不影响DML操作。

  • 只有InnoDB表,仅上备份锁

  • 请点击输入图片描述

  • 若有非InnoDB表,上全局锁

  • 请点击输入图片描述

    特性2:Redo Log Archiving

    MEB能做到在线热备,备份时不影响数据库读写,这是利用了InnoDB事务日志,在备份期间持续监视redo log的变化,读取增量变化,写入到ibbackup_logfile,也就不需要上锁来保障备份一致性。(对非InnoDB的文件需要上读锁拷贝)

    如果备份期间数据库写入负载特别大,而写入ibbackup_logfile速度较慢,redo log size也不大,很可能会出现ibbackup_logfile的写入速度跟不上redo log记录生成速度,redo log 空间不够时需要覆写日志文件,那么来不及写入ibbackup_logfile的记录会丢失,导致备份失败。

    MEB 4.1对此做了优化,将redo log处理线程拆分成多线程分工合作,提高处理redo log的效率,降低了redo log覆写造成备份失败的概率,但redo log新增速度和ibbackup_logfile写入速度悬殊太大,问题依然会发生。

    MySQL 8.0.17支持了redo log archiving 彻底解决了此问题,备份前设置innodb_redo_log_archive_dirs,指定redo log归档目录。MEB备份时自动开启日志归档,当checkpoint时会将旧记录归档到此目录,后续从归档文件中读取redo日志记录,避免了覆写可能导致的redo记录丢失。

    请点击输入图片描述

    注意:innodb_redo_log_archive_dirs 不能在数据目录下,目录权限要求是700

    特性3:Page Tracking

    Page Tracking 是为优化增量备份效率,减少不必要的数据页扫描。

    增量备份当前有3种扫描模式:

  • page-track:利用LSN精确跟踪上次备份之后被修改页面,仅复制这些页面,效率最快。

  • optimistic:扫描上次备份之后被修改的InnoDB 数据文件中,找出并拷贝修改的页面。依赖系统时间,使用存在限制。

  • full-scan:扫描所有InnoDB数据文件,找出并拷贝自上次备份之后修改的页面,效率最慢

  • 1、利用page-track增量备份,需先安装备份组件

  • mysql》 INSTALL COMPONENT “file://component_mysqlbackup“;
  • 2、在全备前开启page-track

  • SELECT mysqlbackup_page_track_set(true);
  • 3、全备之后,做增量备份时指定若满足page tracking条件,默认会使用page-track模式,否则会使用full-scan模式,也可以指定--incremental=page-track。

  • mysqlbackup --incremental-backup-dir=backup_incr --trace=3 --incremental=page-track --incremental-base=history:last_full_backup backup
  • incremental-base有3种选择

  • last_backup:基于前一次备份做增备,前一次备份可能是增备,也可能是全备。这种方式全备之间可能会有多个增备,每次增量可能比较小,但恢复时需要逐个合并。

  • last_full_backup:基于前一次全备做增备。这种方式增备会越往后体积可能越大,但恢复时只需要合并最后一次增量备份。

  • dir:基于前一次的备份目录,前一次备份可能是增备,也可能是全备。

  • 测试对比full-scan 和page-track ,在变更页小于总体50%的情况下 ,备份效率至少能有1倍的速度提升。

  • page-track 模式 磁盘读写均衡,说明读写的都是修改页面。

  • 请点击输入图片描述

  • full-scan模式 磁盘读写差别很大,说明读了很多未修改的页面。

  • 请点击输入图片描述

如何实现Mysql数据库每天自动备份定时备份

利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。

(1)新建备份任务

UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】

(2)设置备份策略

选择要进行备份的文件

(3)永久增量备份与数据保留设置

选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:

【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。

【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。

【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。

【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩

【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能

最后新建完成

目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。

(4)设置邮件告警

备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控

Mysql数据库备份工具有哪些

1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt 》 /tmp/ytt.sql;

恢复也非常简单:mysql 《 /tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqldump 一样。

3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

  • dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例

  • dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库

  • load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

  • MySQL Shell UTIL 备份恢复工具具备如下特性:

    1. 压缩导出(默认压缩算法 zstd)

    2. 数据集分块导出,每块 32M

    3. 默认导出存储过程、存储函数、触发器、事件、用户、视图

    4. 默认 4 个线程导出

    5. 默认进度展示

    6. 默认字符集 utf8mb4

    7. 默认开启一致性导出

    8. 默认表,视图等定义导出为 SQL 语句

    9. 默认数据导出为 TSV 格式数据

mysql 怎么备份数据库

备份语法如下:mysqldump -u username -p dbname table1 table2 ...-》 BackupName.sql

其中:

dbname参数表示数据库的名称;

table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;

BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

使用root用户备份test数据库下的person表

mysqldump -u root -p test person 》 D:\backup.sql

请问mysql怎么自动备份数据库

数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。

工具/原料

navicat for mysql

mysql 5.5

方法/步骤

  • 打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。

  • 双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。

  • 点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”

  • 点击“设置”计划任务。

  • 弹出的对话框,选择“计划”,再点击“新建”。

  • 这里设置为从2014年1月24号起每天早上九点备份该数据库。如果想提高备份频率、或者设置备份截止日期,请点击“高级”。

  • 高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。

  • 最后,输入电脑密码就大功告成。

  • mysql数据库如何备份

    MySQL数据库备份与还原备份和恢复数据生成SQL脚本在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。mysqldump –u用户名 –p密码 数据库名》生成的脚本文件路径现在可以在C盘下找到mydb1.sql文件了!注意,mysqldump命令是在Windows控制台下执行,无需登录mysql!!!执行SQL脚本执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!SOURCE C:\mydb1.sql注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在create table a的语句,而当前数据库中已经存在了a表,那么就会出错!还可以通过下面的方式来执行脚本文件:mysql -uroot -p123 mydb1《c:\mydb1.sqlmysql –u用户名 –p密码 数据库《要执行脚本文件路径这种方式无需登录mysql!

    mysql大数据库备份什么软件好用

    1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

    比如导出单个数据库 ytt: mysqldump ytt 》 /tmp/ytt.sql;

    恢复也非常简单:mysql 《 /tmp/ytt.sql

    缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

    2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

    其他缺点和 mysqldump 一样。

    3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

    • dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例

    • dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库

    • load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

    • MySQL Shell UTIL 备份恢复工具具备如下特性:

      1. 压缩导出(默认压缩算法 zstd)

      2. 数据集分块导出,每块 32M

      3. 默认导出存储过程、存储函数、触发器、事件、用户、视图

      4. 默认 4 个线程导出

      5. 默认进度展示

      6. 默认字符集 utf8mb4

      7. 默认开启一致性导出

      8. 默认表,视图等定义导出为 SQL 语句

      9. 默认数据导出为 TSV 格式数据

    mysql中备份数据库的命令是

    使用mysqldump工具进行备份:1)备份所有数据库:$ mysqldump -uroot -p --all-database 》 all.sql(2)备份数据库test$ mysqldump -uroot -p test 》 test.sql(3)备份数据库test下的表emp$ mysqldump -uroot -p test emp 》 emp.sql(4)备份数据库test下的表emp和dept$ mysqldump -uroot -p test emp dept 》 emp_dept.sql

    mysql备份方式有哪些

    数据库最直接的备份方法就是使用自带的mysqldump命令进行备份。1、 mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:#MySQLdump常用mysqldump -u root -p --databases 数据库1 数据库2 》 xxx.sql2、 mysqldump常用操作实例2.1备份全部数据库的数据和结构mysqldump -uroot -p123456 -A 》 /data/mysqlDump/mydb.sql2.2备份全部数据库的结构(加 -d 参数)mysqldump -uroot -p123456 -A -d 》 /data/mysqlDump/mydb.sql2.3 备份全部数据库的数据(加 -t 参数)mysqldump -uroot -p123456 -A -t 》 /data/mysqlDump/mydb.sql2.4 备份单个数据库的数据和结构(,数据库名mydb)mysqldump -uroot-p123456 mydb 》 /data/mysqlDump/mydb.sql2.5 备份单个数据库的结构mysqldump -uroot -p123456 mydb -d 》 /data/mysqlDump/mydb.sql2.6 备份单个数据库的数据mysqldump -uroot -p123456 mydb -t 》 /data/mysqlDump/mydb.sql22.7 备份多个表的数据和结构(数据,结构的单独备份方法与上同)mysqldump -uroot -p123456 mydb t1 t2 》 /data/mysqlDump/mydb.sql2.8 一次备份多个数据库mysqldump -uroot -p123456 --databases db1 db2 》 /data/mysqlDump/mydb.sql


    声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

    上一篇: kb4013429(windows10 version1607 累计更新(kb4013429)怎么安装不了,下载后安装失败)

    下一篇: 不懂人情世故的人表现,表达能力差 思路不清晰怎么锻炼(酒桌上的人情世故)



    推荐阅读

    网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号