不帅 发表于 2015-1-16 22:14:16

MYSQL网站制作之使用mysqldump备份MySQL数据库

那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。  在实际事情中,按期备份数据库是一项极其主要的事变。当我们利用MySQL时,在数据库备份方面有很多选择的余地,而本文将向读者先容怎样利用MySQL的mysqldump来备份数据库。
  1、数据备份的主要性
  事情中,假如不测删除主要的文件大概目次的话,那了局可就惨了。特别是当误删除的数据触及主要的客户大概关头项目,而且这些数据没法容易从头创立的时分,那味道,不必我说你也能设想失掉。不巧的是,像如许的数据在公司情况中到处可见,比方发卖纪录、客户接洽体例,等等。
  以是,在实际事情中,按期备份数据库是一项极其最需存眷的事的事变,不然便可能带来劫难性的成果。当我们利用MySQL时,在数据库备份方面有很多选择的余地。本文将向读者先容怎样利用MySQL的mysqldump来备份数据库。
  2、关于mysqldump
  MySQL本身供应了很多命令行工具,比方mysql工具能够用来与MySQL的数据库形式、数据、用户和设置变量举行交互,而mysqladmin工具则能够举行各类办理义务,另有就是上面将要先容的mysqldump。别的另有良多,不外那超越了本文的会商局限。工具mysqldump既能够用来备份数据库形式,还能够用来备份数据;使用它,我们不但能够对一个服务器上的一切数据库举行地毯式的备份,同时我们还能够选择性地备份某个数据库,乃至数据库中指定的某些表。
  当在服务器上安装MySQL的时分,应修正体系路径以便使全局命令行能够会见各个客户程序。翻开终端窗口,并实行以下命令:
  

%>mysqldumpUsage:mysqldumpdatabaseORmysqldump
  

--databasesDB1ORmysqldump--all-databases
  

Formoreoptions,usemysqldump--help
  这里给出了利用mysqldump程序的办法。举例来讲,若要备份一切数据库形式和数据至文件backup092210.sql的话,能够实行以下所示的命令:
  

%>mysqldump-uroot-p--all-databases>backup092210.sqlEnterpassword:
  这里,为了可以会见一切数据库,我们必要一个root权限,以是这里必要在提醒符前面输出响应口令。别的,假如你是在开辟用的服务器上实习这些命令的话,无妨花一些工夫看看备份文件的内容。这时候您会看到一系列的SQL语句,先是删除各个表后从头创立的语句,然后是从头创立相干数据的语句。别的,因为下面的例子中我们对一切数据库举行备份,以是您还会发明,备份文件将创立每一个数据库(假如它还没有存在的话),然后经由过程USE命令切换到该数据库,进而创立与该数据库相干的表跟数据。
  若要备份单个数据库,比方要备份名为wiki的数据库到一个名为wiki-backup092210.sql的文件中,我们可使用以下所示的命令:
  

%>mysqldump-uroot-pwiki>wiki-backup092210.sqlEnterpassword:
  最初,若要备份数据库中名为users的表的话,比方要把它备份到名为wikiusers-backup092210.sql的文件中,我们可使用以下所示的命令:
  

%>mysqldump-uroot-pwikiusers>wikiusers-backup092210.sqlEnterpassword:
  3、调剂备分内容
  偶然候,我们大概只想备份数据库的形式,大概只想备份数据库的数据。为了备份数据库形式,能够向mysqldump传送参数--no-data,以下所示:
  

%>mysqldump-uroot-p--no-datawiki>wiki-backup092210.sql
  为了只备份数据库的数据,能够向mysqldump利用参数--no-create-info,以下所示:
  

  %>mysqldump-uroot-p--no-create-infowiki>wiki-backup092210.sql
  4、怎样主动举行备份
  关于后面所举的例子,仅必要大批的击键次数就可以实行mysqldump命令。但是,事情中要干的活另有良多,而且假如总是实行这些命令的话,那末生存就会变得太单调了。因而,我们能够想法使这些历程主动化,这时候我们能够借助cron工具来告竣我们的方针,这个工具在一切类UNIX操纵体系上都能找到。为了主动实行备份义务,我们必要新建一个准确定名的文件。比方nightly-backup.sh,详细命令以下所示:
  

  #!/bin/shmysqldump-uroot-psecretwiki>/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实行剧本的话,可使用参数454**3。
  拔出下面所示的一行内容后,保留文件,那末我们的义务就会入手下手依照给准时间调剂实行。必要注重的是,第二天早上必定要检察响应的目次,看看事变是不是统统一般。
  5、别的备份计划
  就像本文后面所说的那样,mysqldump只是MySQL浩瀚备份计划中的一个。别的,您还可使用MySQL的二进制日记文件举行增量备份,大概利用从MySQL主服务器中将数据复制到从服务器中。
  6、小结
  本文中,我们与读者一道创建了一个复杂的MySQL备份办理计划。假如您之前还未实行任何办理计划的话,无妨当即下手试一下。主要的是,这只必要消费您几分钟的工夫,我想这是很划得来的。
<Pstyle="TEXT-INDENT:2em">
即使对于MySQL的商业化的企业版来说,也没有高昂的许可证成本,当你将其与像甲骨文和微软之类的大型专有商业数据库比较的话。

再见西城 发表于 2015-1-19 05:52:46

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

因胸联盟 发表于 2015-1-24 15:42:09

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

飘灵儿 发表于 2015-2-2 05:00:12

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

老尸 发表于 2015-2-7 16:35:20

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。

活着的死人 发表于 2015-2-22 16:25:16

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西

飘飘悠悠 发表于 2015-3-7 01:37:47

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

柔情似水 发表于 2015-3-14 06:25:44

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

透明 发表于 2015-3-21 01:01:50

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
页: [1]
查看完整版本: MYSQL网站制作之使用mysqldump备份MySQL数据库