如何利用mysqldump备份MySQL数据库

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

    正确的做法是直接在CMD中运行mysqldump命令,而不是先登录到MySQL的命令行模式。具体步骤可以参照以下示例:假设你要备份名为mydatabase的数据库,可以使用如下命令:mysqldump -u username -p mydatabase > backup.sql 其中,"username"是你的MySQL用户名,"mydatabase"是你要备份的数据库名称。运行该命...

  •  深空见闻 服务器的数据库如何进行备份,

    服务器的数据库备份通常可以通过使用MYSQL数据库进行。以下是具体的备份方法:使用MYSQLDUMP命令:简介:mysqldump是MYSQL自带的备份工具,可以将数据库中的数据导出成SQL文件。操作:在命令行中执行mysqldump u 用户名 p 数据库名 > 备份文件.sql,系统会提示输入密码,输入后即可开始备份。使用MYSQL管理工具...

  • 1.打开MySQL Workbench,点击“数据导出”:2.选择要备份的数据库,以及备份的存储路径和名称,最后点击“开始导出”:3.等待备份完成即可:备份MySQL数据库既可以使用Cmd命令,也可以使用MySQL Workbench等GUI工具,只要掌握备份的方法,就能保障数据库数据的安全性。同时,备份数据也非常重要,以保证在意外数...

  •  阿暄生活 数据库备份与恢复详解 数据库备份与恢复bak

    一、数据库备份 使用mysqldump进行备份:命令格式:mysqldump -u 用户名 -p 数据库名 > 导出文件名。例如,mysqldump -u root -p voicevoice.sql,然后输入密码即可开始导出MYSQL数据,实现备份操作。说明:该命令会将指定数据库的所有数据导出到一个SQL文件中,这个文件就是备份文件,可以用于后续的数据...

  • 1.MySQLdump常用命令www.cnblogs.com/smail-bao/p/6402265.html2.利用Shell脚本实现对mysql数据库的备份:www.cnblogs.com/mracale/p/7251292.html3.Linux下的Crontab定时执行任务命令详解:www.cnblogs.com/longjshz/p/5779215.html 抢首赞 已赞过 已踩过< 你对这个回答的评价是? 评论 分享 复制链接https://...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部