|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。mysql|备份|数据|数据库利用MYSQL举行数据库备份,又很正轨的数据库备份办法,同其他的数据库服务器有不异的观点,但有无想过,MySQL会有更简便的利用文件目次的备份办法,并且又快有好。
1、数据备份捷径
由于这个办法没有失掉官朴直式文档的考证,我们暂称为实验吧。
目标:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中
实验情况:
操纵体系:WinNT4.0,Mysql3.22.34,phpMyAdmin2.1.0
在hostA中安装mysql数据库并创建TestA数据库
hostB机安装mysql数据库,没有TestA数据库
办法步骤:
启动phpMyAdmin观察HostA和HostB中的数据库列表,在HostB中没有TestA数据库
找到HostA中mysql的安装目次,并找到数据库目次data
在我的实验情况中,这个目次是
C:mysqldata
找到对应数据库称号的子目次
C:mysqldataTestA
粘贴拷贝到HostB的Data目次下,是HostA同HostBMysql数据目次下的文件不异
革新HostB的phpMyAdmin观察一下数据库列表,我们看到TestA已呈现,而且作查询修正等操纵都一般,备份恢复恢复乐成
实验结论:Mysql的数据库能够经由过程文件情势保留,备份,恢复只需将响应文件目次恢复便可,无需利用别的工具备份。
2、正轨的办法(官方倡议):
导出要用到MySQL的mysqldump工具,基础用法是:
mysqldump[OPTIONS]database[tables]
假如你不给定任何表,全部数据库将被导出。
经由过程实行mysqldump--help,你能失掉你mysqldump的版本撑持的选项表。
注重,假如你运转mysqldump没有--quick或--opt选项,mysqldump将在导出了局前装载全部了局集到内存中,假如你正在导出一个年夜的数据库,这将多是一个成绩。
mysqldump撑持以下选项:
--add-locks
在每一个表导出之前增添LOCKTABLES而且以后UNLOCKTABLE。(为了使得更快地拔出到MySQL)。
--add-drop-table
在每一个create语句之前增添一个droptable。
--allow-keywords
同意创立是关头词的列名字。这由在列名后面加表名的办法做到。
-c,--complete-insert
利用完全的insert语句(用列名字)。
-C,--compress
假如客户和服务器均撑持紧缩,紧缩二者间一切的信息。
--delayed
用INSERTDELAYED命令拔出行。
-e,--extended-insert
利用全新多行INSERT语法。(给出更压缩而且更快的拔出语句)
-#,--debug[=option_string]
跟踪程序的利用(为了调试)。
--help
显现一条匡助动静而且加入。
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
这些选择与-T选择一同利用,而且有响应的LOADDATAINFILE子句不异的寄义。
LOADDATAINFILE语法。
-F,--flush-logs
在入手下手导出前,洗失落在MySQL服务器中的日记文件。
-f,--force,
即便我们在一个表导出时代失掉一个SQL毛病,持续。
-h,--host=..
从定名的主机上的MySQL服务器导出数据。缺省主机是localhost。
-l,--lock-tables.
为入手下手导出锁定一切表。
-t,--no-create-info
不写进表创立信息(CREATETABLE语句)
-d,--no-data
不写进表的任何行信息。假如你只想失掉一个表的布局的导出,这是很有效的!
--opt
同--quick--add-drop-table--add-locks--extended-insert--lock-tables。
应当给你为读进一个MySQL服务器的尽量最快的导出。
-pyour_pass,--password[=your_pass]
与服务器毗连时利用的口令。假如你不指定“=your_pass”部分,mysqldump必要来自终真个口令。
-Pport_num,--port=port_num
与一台主机毗连时利用的TCP/IP端标语。(这用于毗连到localhost之外的主机,由于它利用Unix套接字。)
-q,--quick
不缓冲查询,间接导出至stdout;利用mysql_use_result()做它。
-S/path/to/socket,--socket=/path/to/socket
与localhost毗连时(它是缺省主机)利用的套接字文件。
-T,--tab=path-to-some-directory
关于每一个给定的表,创立一个table_name.sql文件,它包括SQLCREATE命令,和一个table_name.txt文件,它包括数据。注重:这只要在mysqldump运转在mysqld保卫历程运转的统一台呆板上的时分才事情。.txt文件的格局依据--fields-xxx和--lines--xxx选项来定。
-uuser_name,--user=user_name
与服务器毗连时,MySQL利用的用户名。缺省值是你的Unix登录名。
-Ovar=option,--set-variablevar=option
设置一个变量的值。大概的变量被列鄙人面。
-v,--verbose
冗杂形式。打印出程序所做的更多的信息。
-V,--version
打印版本信息而且加入。
-w,--where=where-condition
只导出被选择了的纪录;注重引号是强迫的!
"--where=user=jimf""-wuserid>1""-wuserid<1"
最多见的mysqldump利用大概制造全部数据库的一个备份:
mysqldump--optdatabase>backup-file.sql
可是它对用来自于一个数据库的信息充分别的一个MySQL数据库也是有效的:
mysqldump--optdatabase|mysql--host=remote-host-Cdatabase
因为mysqldump导出的是完全的SQL语句,以是用mysql客户程序很简单就可以把数据导进了:
mysqladmincreatetarget_db_name
mysqltarget_db_name<backup-file.sql任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。 |
|