国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类MySQL → 使用mysqldump工具备份还原Mysql数据库实例及参数详细说明

使用mysqldump工具备份还原Mysql数据库实例及参数详细说明

我要评论 2013/01/12 12:15:18 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:351次

我们在【wǒ men zài】🤚网站数据维护【jù wéi hù】中经常【zhōng jīng cháng】会遇到备份数⛪据库,还原数🐗据库的💔情况,我们一【wǒ men yī】🥊般用一【bān yòng yī】下两种方式来处理:

1.使用【shǐ yòng】😚into outfile 和 load data infile导入导⛵出备份数据【shù jù】

这种方法的好🛵处是,导出的数据可以自己规定格式【shì】,并且导⛪出的是纯数据【chún shù jù】🤦,不存在【bú cún zài】建表信息【xī】,你可以直接导🐀入另外【rù lìng wài】一个同【yī gè tóng】🔭数据库【shù jù kù】的不同🥀表中🧒,相对于mysqldump比较灵【bǐ jiào líng】🐂活机动。

我们来看下面的例子:

(1)下面的【de】🎈mysql命令是【mìng lìng shì】把select的【de】mytable表中的【biǎo zhōng de】🚦数据导🙈出到/home/db_bak2012文件。

select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012' fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

导入刚⛄才备份的数据,可以使【kě yǐ shǐ】用🚳load file方法【fāng fǎ】,下面的mysql命令,把导出🤤的数据导入了【dǎo rù le】😡mytable_bak的表中【de biǎo zhōng】:

load data infile '/home/db_bak2012' into table mytable_bak fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

2.使用【shǐ yòng】🔎mysqldump导出固定条件【dìng tiáo jiàn】的数据📼库

我们来看几个📘常用用📒例【lì】:
(1)导出整【dǎo chū zhěng】个数据【gè shù jù】😺库

mysqldump -u 用户名【yòng hù míng】🕊 -p 数据库名 > 导出的🍳文件名【wén jiàn míng】 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

(2)导出一【dǎo chū yī】个表🌴

mysqldump -u 用户名【yòng hù míng】😜 -p 数据库😐名 表名> 导出的文件名【wén jiàn míng】 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

(3)导出一个数据💨库结构【kù jié gòu】

mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql #-d 不导出🏾数据只导出结构😼 --add-drop-table 在每个🍑create语句之前增加🐱一个drop table

(4)导入数【dǎo rù shù】据库【jù kù】,常用【cháng yòng】source 命令【mìng lìng】

#进入🤠mysql数据库【shù jù kù】控制台, mysql -u root -p mysql>use 数据库【shù jù kù】 mysql>set names utf8; (先确认编码🕐,如果不【rú guǒ bú】设置可能会出⛴现乱码【xiàn luàn mǎ】,注意不是【shì】UTF-8)  #然后使用🤾source命令【mìng lìng】,后面参🐄数为脚本文件【běn wén jiàn】(如这里【rú zhè lǐ】🏨用🤾到的.sql) mysql>source d:\wcnc_db.sql

上【shàng】边的实例只是最基【shì zuì jī】🏉础的,有的时🧀候我们可能需【kě néng xū】要批量导出多【dǎo chū duō】🕞个库,我们就可以加【kě yǐ jiā】🐇上【shàng】--databases 或者🍜-B,如下语句:

mysqldump -uroot -p --databases test mysql #空格分🚚隔【gé】

还有的👭时候我们可能需要把🍬数据库内所有🐻的库全【de kù quán】📑部备份,我们就【wǒ men jiù】可以使【kě yǐ shǐ】用-all-databases,如下语【rú xià yǔ】句:

mysqldump -uroot -p -all-databases

可能我🏪们还会【men hái huì】有更多【yǒu gèng duō】的需求🦂,下面是【xià miàn shì】我在网【wǒ zài wǎng】上找的感觉比较全的参数说明,贴出来【tiē chū lái】📝供大家🐧参考🕢。

参数说明

--all-databases  , -A

导出全部数据库。

mysqldump  -uroot -p --all-databases

--all-tablespaces  , -Y

导出全部表空间。

mysqldump  -uroot -p --all-databases --all-tablespaces

--no-tablespaces  , -y

不导出任何表空间信息。

mysqldump  -uroot -p --all-databases --no-tablespaces

--add-drop-database

每个数据库创【jù kù chuàng】建之前添加😳drop数据库语句【yǔ jù】👯。

mysqldump  -uroot -p --all-databases --add-drop-database

--add-drop-table

每个数【měi gè shù】🍊据表创建之前添加🌴drop数据表【shù jù biǎo】🚧语句。(默认为【mò rèn wéi】打开状态,使用【shǐ yòng】--skip-add-drop-table取消选项📢)

mysqldump  -uroot -p --all-databases  (默认添加【jiā】drop语句🍅)

mysqldump  -uroot -p --all-databases –skip-add-drop-table  (取消🆖drop语句【yǔ jù】)

--add-locks

在每个【zài měi gè】🔲表导出🌤之前增【zhī qián zēng】加LOCK TABLES并且之【bìng qiě zhī】后UNLOCK  TABLE。(默认为打开状态【tài】,使用--skip-add-locks取消选😃项🍀)

mysqldump  -uroot -p --all-databases  (默认添加【jiā】🤚LOCK语句)

mysqldump  -uroot -p --all-databases –skip-add-locks   (取消【qǔ xiāo】LOCK语句⛅)

--allow-keywords

允许创建是关📣键词的列名字。这由表名前缀【míng qián zhuì】于每个【yú měi gè】🍗列名做【liè míng zuò】到🖥。

mysqldump  -uroot -p --all-databases --allow-keywords

--apply-slave-statements

在【zài】👯'CHANGE MASTER'前添加'STOP SLAVE',并且在【zài】👯导出的【dǎo chū de】🦃最后添加'START SLAVE'。

mysqldump  -uroot -p --all-databases --apply-slave-statements

--character-sets-dir

字符集文件的目录

mysqldump  -uroot -p --all-databases  --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--comments

附加注【fù jiā zhù】🚿释信息。默认为打开🏚,可以用【kě yǐ yòng】--skip-comments取消

mysqldump  -uroot -p --all-databases  (默认记【mò rèn jì】录注释👜)

mysqldump  -uroot -p --all-databases --skip-comments   (取消注🥖释【shì】)

--compatible

导出的数据将和其它【hé qí tā】🍯数据库或旧版本的【běn de】MySQL 相兼容【xiàng jiān róng】🚁。值可以为💵ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,

要使用几个值【jǐ gè zhí】,用逗号🥓将它们【jiāng tā men】💠隔开【gé kāi】。它并不保证能完全兼🛥容,而是尽【ér shì jìn】量兼容🔗。

mysqldump  -uroot -p --all-databases --compatible=ansi

--compact

导出更【dǎo chū gèng】🥔少的输出信息🏸(用于调【yòng yú diào】试【shì】)。去掉注😌释和头【shì hé tóu】尾等结构。可以使用选项🚑:--skip-add-drop-table  --skip-add-locks --skip-comments --skip-disable-keys

mysqldump  -uroot -p --all-databases --compact

--complete-insert,  -c

使用完整的insert语句(包含列⌛名称)。这么做能提高【néng tí gāo】插入效【chā rù xiào】率【lǜ】🦁,但是可【dàn shì kě】🚿能会受到🏥max_allowed_packet参数的🌞影响而导致插入失败【rù shī bài】。

mysqldump  -uroot -p --all-databases --complete-insert

--compress, -C

在客户🖊端和服务器之【wù qì zhī】🗻间启用压缩传【yā suō chuán】递所有💣信息【xìn xī】

mysqldump  -uroot -p --all-databases --compress

--create-options,  -a

在CREATE TABLE语句中🍢包括所有【yǒu】MySQL特性选【tè xìng xuǎn】♊项。(默认为打开状【dǎ kāi zhuàng】👦态)

mysqldump  -uroot -p --all-databases

--databases,  -B

导出几【dǎo chū jǐ】个数据【gè shù jù】库。参数后面所有名字参【míng zì cān】📔量都被🍀看作数据库名🤔。

mysqldump  -uroot -p --databases test mysql

--debug

输出🛸debug信息【xìn xī】,用于调试。默认值【mò rèn zhí】为😦:d:t:o,/tmp/mysqldump.trace

mysqldump  -uroot -p --all-databases --debug

mysqldump  -uroot -p --all-databases --debug=” d:t:o,/tmp/debug.trace”

--debug-check

检查内存和打开文件使用说明并退出。

mysqldump  -uroot -p --all-databases --debug-check

--debug-info

输出调试信息并退出

mysqldump  -uroot -p --all-databases --debug-info

--default-character-set

设置默认字符集,默认值为utf8

mysqldump  -uroot -p --all-databases --default-character-set=latin1

--delayed-insert

采用延【cǎi yòng yán】时插入🐦方式🍠(INSERT DELAYED)导出数【dǎo chū shù】据

mysqldump  -uroot -p --all-databases --delayed-insert

--delete-master-logs

master备份后删除日【shān chú rì】👣志. 这个参🎨数将自【shù jiāng zì】动激活--master-data。

mysqldump  -uroot -p --all-databases --delete-master-logs

--disable-keys

对于每个表,用【yòng】🏰/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和👳/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用【yòng】🏰INSERT语句。这样可【zhè yàng kě】🐜以更快【yǐ gèng kuài】地导入dump出来的👜文件,因为它【yīn wéi tā】是在插🌊入所有【rù suǒ yǒu】😘行后创建索引【jiàn suǒ yǐn】的👜。该选项【gāi xuǎn xiàng】只适合MyISAM表,默认为📑打开状态。

mysqldump  -uroot -p --all-databases 

--dump-slave

该选项将导致主的binlog位置和🕝文件名【wén jiàn míng】🐣追加到导出数⛽据的文件中。设置为【shè zhì wéi】1时🅰,将会以⛰CHANGE MASTER命令输🐳出到数【chū dào shù】据文件【jù wén jiàn】;设置为【shè zhì wéi】2时🅰,在命令【zài mìng lìng】前增加说明信息⭐。该选项将会打【jiāng huì dǎ】开【kāi】--lock

关键词🚆:mysqldump,Mysql,数据库

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视