mysql数据备份在哪里_mysql之数据备份与恢复
本文內(nèi)容: 復(fù)制文件法
利用mysqldump
利用select into outfile
其它(列舉但不介紹)
首發(fā)日期:2018-04-19
有些時(shí)候,在備份之前要先做flush tables ,確保所有數(shù)據(jù)都被寫入到磁盤中。
復(fù)制文件法:
對(duì)于myisam存儲(chǔ)引擎的數(shù)據(jù)庫(kù),它的表結(jié)構(gòu)(.frm)、數(shù)據(jù)(.myd)和索引(.myi)都單獨(dú)成文件,可以直接復(fù)制這三個(gè)文件到備份空間就可以成功備份了。
至于還原,只需要把三個(gè)文件復(fù)制回某個(gè)數(shù)據(jù)庫(kù)目錄下即可。
利用mysqldump:
適用情況:本質(zhì)上是把表結(jié)構(gòu)和數(shù)據(jù)還原成sql語(yǔ)句,所以可以備份表結(jié)構(gòu)
備份: 單表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫(kù)名 表名 > 備份文件路徑
多表備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫(kù)名 表名1 [其他表名] > 備份文件路徑
單個(gè)數(shù)據(jù)庫(kù)備份:mysqldump -u用戶名 -p 數(shù)據(jù)庫(kù)名? > 備份文件路徑
多個(gè)數(shù)據(jù)庫(kù)備份:mysqldump -u用戶名 -p --databases? 數(shù)據(jù)庫(kù)名1 數(shù)據(jù)庫(kù)名2 [其他數(shù)據(jù)庫(kù)]? > 備份文件路徑
備份所有數(shù)據(jù)庫(kù):mysqldump -u用戶名 -p --all --databases > 備份文件路徑
還原: mysqldump -u用戶名 -p密碼 [數(shù)據(jù)庫(kù)名] < 備份文件路徑 【指定數(shù)據(jù)庫(kù)時(shí)代表只恢復(fù)指定數(shù)據(jù)庫(kù)的備份,不指定為恢復(fù)備份文件中所有內(nèi)容】
補(bǔ)充: mysqldump還可以僅僅導(dǎo)出表數(shù)據(jù)【不過(guò)考慮到有select into outfile了,這里就不介紹了】
利用select into outfile:
適用情況:單表數(shù)據(jù)備份,只能復(fù)制表數(shù)據(jù),不能復(fù)制表結(jié)構(gòu)。
備份: 語(yǔ)法:select *\字段列表? from 數(shù)據(jù)源 into outfile 備份文件目標(biāo)路徑 [fields 字段處理] [lines 行處理]; 【備份文件目標(biāo)路徑中文件必須不存在】 fields 字段處理是可選的,是每個(gè)字段的數(shù)據(jù)如何存儲(chǔ),有以下即可小選項(xiàng) enclosed by:以什么字符來(lái)包裹數(shù)據(jù),默認(rèn)是空字符
terminated by :以什么字符作為字段數(shù)據(jù)結(jié)尾,默認(rèn)是\t,退格符
escaped by: 特殊符號(hào)用什么方法處理,默認(rèn)是"\\"
optionally enclosed by:以什么字符來(lái)包裹數(shù)據(jù)類型為字符串的數(shù)據(jù)。
語(yǔ)法:
select * from class into outfile "d:\c1.txt" fields enclosed by '-';select * from class into outfile "d:\c1.txt" fields enclosed by '-' optionally enclosed by "'";
lines 行處理是可選的
starting by :每行以什么開始,默認(rèn)是空字符串
terminated by :每行記錄以什么結(jié)束,默認(rèn)是“\n”
語(yǔ)法:
select * from class into outfile "d:\c.txt" lines starting by 'start:';select * from class into outfile "d:\c1.txt" lines starting by 'start:' terminated by '\n';
注意:在5.7新增了一個(gè)特性,secure_file_priv,它會(huì)限制數(shù)據(jù)的導(dǎo)出,secure-file-priv參數(shù)是用來(lái)限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個(gè)指定目錄的。
需要在my.ini中設(shè)置才能正常導(dǎo)出數(shù)據(jù)。
還原:
語(yǔ)法:load date infile 備份文件路徑 into table 表名 [fields 字段處理] [lines 行處理];【要把之前的字段處理和行處理都寫下來(lái),不然無(wú)法正確區(qū)分?jǐn)?shù)據(jù)】
其它
備份:
使用mysql命令備份
利用mysqlhotcopy備份
利用backup table
還原:
使用mysqlimport導(dǎo)入數(shù)據(jù)文件。
使用restore還原
使用source還原
總結(jié)
以上是生活随笔為你收集整理的mysql数据备份在哪里_mysql之数据备份与恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果电脑驱动下载查询
- 下一篇: 若依框架数据库密码加密