当前位置:首页 » 数据仓库 » mysqldump备份数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysqldump备份数据库

发布时间: 2022-06-30 11:12:44

‘壹’ 怎么用mysqlmp工具备份数据库

一、数据备份的重要性 工作中,如果意外删除了重要的文件或者目录的话,那结果可就惨了。尤其是当误删除的数据涉及重要的客户或者关键项目,并且这些数据无法轻易重新创建的时候,那滋味,不用我说你也能想象得到。不巧的是,像这样的数据在公司环境中随处可见,例如销售记录、客户联系方式,等等。 二、关于mysqlmp MySQL自身提供了许多命令行工具,例如mysql工具可以用来与MySQL的数据库模式、数据、用户和配置变量进行交互,而mysqladmin工具则可以进行各种管理任务,还有就是下面将要介绍的mysqlmp。此外还有很多,不过那超出了本文的讨论范围。工具mysqlmp既可以用来备份数据库模式,还可以用来备份数据;利用它,我们不仅可以对一个服务器上的所有数据库进行地毯式的备份,同时我们还可以选择性地备份某个数据库,甚至数据库中指定的某些表。 当在服务器上安装MySQL的时候,应修改系统路径以便使全局命令行可以访问各个客户程序。打开终端窗口,并执行下列命令:%mysqlmp Usage: mysqlmp[OPTIONS]database[tables]ORmysqlmp[OPTIONS]--databases [OPTIONS] DB1 [DB2 DB3...] OR mysqlmp [OPTIONS] --all-databases [OPTIONS]Formore options, usemysqlmp--help这里给出了使用mysqlmp程序的方法。举例来说,若要备份所有数据库模式和数据至文件backup092210.sql的话,可以执行如下所示的命令:%mysqlmp-u root-p--all-databases backup092210.sql Enter password: 这里,为了能够访问所有数据库,我们需要一个root权限,所以这里需要在提示符后面输入相应口令。此外,如果你是在开发用的服务器上练习这些命令的话,不妨花一些时间看看备份文件的内容。这时您会看到一系列的SQL语句,先是删除各个表后重新创建的语句,然后是重新创建相关数据的语句。另外,由于上面的例子中我们对所有数据库进行备份,所以您还会发现,备份文件将创建每个数据库(如果它还没有存在的话),然后通过USE命令切换到该数据库,进而创建与该数据库相关的表跟数据。 若要备份单个数据库,例如要备份名为wiki的数据库到一个名为wiki-backup092210.sql的文件中,我们可以使用如下所示的命令:%mysqlmp-u root-p wikiwiki-backup092210.sql Enter password: 最后,若要备份数据库中名为users的表的话,例如要把它备份到名为wikiusers-backup092210.sql的文件中,我们可以使用如下所示的命令:%mysqlmp-u root-p wiki userswikiusers-backup092210.sql Enter password:三、调整备份内容 有时候,我们可能只想备份数据库的模式,或者只想备份数据库的数据。为了备份数据库模式,可以向mysqlmp传递参数--no-data,如下所示:%mysqlmp-u root-p--no-data wiki wiki-backup092210.sql 对于前面所举的例子,仅需要少量的击键次数就能执行mysqlmp命令。然而,工作中要干的活还有很多,并且如果老是执行这些命令的话,那么生活就会变得太单调了。因此,我们可以设法使这些过程自动化,这时我们可以借助cron工具来达成我们的目标,这个工具在所有类UNIX操作系统上都能找到。为了自动执行备份任务,我们需要新建一个正确命名的文件。例如nightly-backup.sh,具体命令如下所示:#!/bin/sh mysqlmp-uroot-psecret wiki/home/backup/sql/wiki-backup-`date+%m%d%Y`.sql当我们执行这个脚本的时候,它会将wiki数据库备份到一个按照备份时间命名的文件中,如wiki-backup-092210.sql。您需要注意一下这里的用户名root和口令secret是如何传递给mysqlmp的,即将它们分别放到选项- u和- p后面。从安全的角度讲,我们必须进行正确的权限设置。 接下来,我们将这个脚本提供交给cron,方法是使用crontab。为此,我们可以执行如下所示的命令:%crontab-e这将打开当前登录用户的crontab文件,如果该文件不存在的话就会自动新建一个。在这个文件中,我们可以添加如下内容,来确保每天上午3时运行该备份脚本:03***/home/backup/scripts/nightly-backup .sh如果您对crontab的语法很陌生的话,这里的参数可能让您摸不着头脑。这里前五个参数分别对应于执行脚本的时间,依次为分、时、日、月和星期几。因此,要想在每星期二的4:45am执行脚本的话,可以使用参数45 4 * * 3。 插入上面所示的一行内容后,保存文件,那么我们的任务就会开始按照给定时间调度执行。 需要注意的是,第二天早上一定要查看相应的目录,看看事情是否一切正常。 五、其它备份方案 就像本文前面所说的那样,mysqlmp只是MySQL众多备份方案中的一个。此外,您还可以使用MySQL的二进制日志文件进行增量备份,或者使用从MySQL主服务器中将数据复制到从服务器中。 六、小结本文中,我们与读者一道建立了一个简单的MySQL备份解决方案。如果您之前还未实施任何解决方案的话,不妨立即动手试一下。重要的是,这只需要花费您几分钟的时间,我想这是很划得来的。

‘贰’ 如何备份整个mysql数据库

1、首先打开mysql数据库软件进入软件主界面。

‘叁’ 备份数据库的命令

备份MySQL数据库的命令mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql

02
备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库.mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql

03
直接将MySQL数据库压缩备份mysqlmp -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

04
备份MySQL数据库某个(些)表mysqlmp -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

05
同时备份多个MySQL数据库mysqlmp -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3> multibackupfile.sql

06
仅仅备份数据库结构mysqlmp –no-data –databases dbname1 dbname2 dbname3 > structurebackupfile.sql

07
备份服务器上所有数据库mysqlmp –all-databases > allbackupfile.sql

08
还原MySQL数据库的命令mysql -hhostname -uusername -ppassword databasename < backupfile.sql

09
还原压缩的MySQL数据库gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

10
将数据库转移到新服务器mysqlmp -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

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

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

(1)新建备份任务

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

(2)设置备份策略

选择要进行备份的文件

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

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

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

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

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

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

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

最后新建完成

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

(4)设置邮件告警

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

‘伍’ mysql中备份数据库的命令是

使用mysqlmp工具进行备份:
1)备份所有数据库:

$ mysqlmp -uroot -p --all-database > all.sql

(2)备份数据库test

$ mysqlmp -uroot -p test > test.sql

(3)备份数据库test下的表emp

$ mysqlmp -uroot -p test emp > emp.sql

(4)备份数据库test下的表emp和dept

$ mysqlmp -uroot -p test emp dept > emp_dept.sql

‘陆’ mysql数据库如何备份

MySQL数据库备份与还原
备份和恢复数据
生成SQL脚本
在控制台使用mysqlmp命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqlmp –u用户名 –p密码 数据库名>生成的脚本文件路径
现在可以在C盘下找到mydb1.sql文件了!
注意,mysqlmp命令是在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.sql
mysql –u用户名 –p密码 数据库<要执行脚本文件路径
这种方式无需登录mysql!