日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql备份与还原-mysqldump备份、mysql与source还原

發(fā)布時間:2024/9/21 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql备份与还原-mysqldump备份、mysql与source还原 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

以下都以在linux操作系統(tǒng)上的mysql為例

mysqldump備份

mysqldump實際就是將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)化為建庫、建表和插入記錄的sql語句

1.備份一個數(shù)據(jù)庫 [或其中幾個表],不指定表表示備份整個數(shù)據(jù)庫,指定表表示備份指定的表

在系統(tǒng)命令下:mysqldump -u用戶 -p密碼 庫 [表1? 表2? 表3?? …]? > /opt/backname.sql

[root@oldboy opt]# mysqldump -uroot -poldboy oldboy student >/opt/studentbak.sql

備份一個庫或其中的表時,備份語句中不包含建庫語句,因此還原時需要指定數(shù)據(jù)庫

如果備份整個庫時加上-B參數(shù),備份語句中會包含建庫和切庫語句如mysqldump -uroot -poldboy -B oldboy,-B參數(shù)不適用于備份表

2.備份多個數(shù)據(jù)庫

在系統(tǒng)命令下:mysqldump -u用戶 -p密碼 --databases 庫1? 庫2? 庫3? … > /opt/backname.sql

? ? ? ? ? ? ? ? ? ? ? ? ?mysqldump -u用戶 -p密碼 --B 庫1? 庫2? 庫3? … > /opt/backname.sql

[root@oldboy opt]# mysqldump -uroot -poldboy --databases oldboy oldboy_utf8 >/opt/multidbback.sql

3.備份所有數(shù)據(jù)庫

在系統(tǒng)命令下:mysqldump -u用戶 -p密碼 --all-databases > /opt/backname.sql

[root@oldboy opt]# mysqldump -uroot -poldboy --all-databases >/opt/alldbback.sql

參考視頻?http://edu.51cto.com/course/808.html

?

備份時可同時對備份的結(jié)果通過gzip壓縮

mysqldump -uroot -poldboy oldboy student | gzip > /opt/studentbak.sql

?

mysql備份時常用參數(shù)

備份時加--compact參數(shù),會在備份結(jié)果中省去一些無用信息,簡化輸出 ,一般在調(diào)試時使用,生產(chǎn)上不使用

[root@oldboy opt]# mysqldump -uroot -poldboy --compact oldboy > /opt/dbak.sql

備份時加-d參數(shù),只備份表結(jié)構(gòu),即--no-data

[root@oldboy opt]# mysqldump -uroot -poldboy -d oldboy student > /opt/dbak.sql

備份時加-t參數(shù),只備份數(shù)據(jù)

[root@oldboy opt]# mysqldump -uroot -poldboy -t oldboy student > /opt/tbak.sql

備份時加-B參數(shù),備份多個數(shù)據(jù)庫,即--databases

[root@oldboy opt]# mysqldump -uroot -poldboy -B --events |gzip > /opt/Abak.sql

備份時加-A參數(shù),備份所有數(shù)據(jù)庫,即--all-databases

[root@oldboy opt]# mysqldump -uroot -poldboy -A -B --events |gzip > /opt/Abak.sql

備份時加-F參數(shù),切割bin log,即--flush-logs

[root@oldboy opt]# mysqldump -uroot -poldboy -B -F oldboy|gzip > /opt/Abak.sql

備份時加--maste-date=1(或2,1指定logbin日志及位置時不注釋,2注釋)參數(shù),會在備份結(jié)果中指出從哪個binlog開始恢復(fù)

[root@oldboy opt]# mysqldump -uroot -poldboy --compact --master-data=1 oldboy > /opt/masterbak.sql

備份時加-x參數(shù),鎖表

備份時加-l參數(shù),只讀鎖表

備份時加--events參數(shù),備份數(shù)據(jù)庫事件

備份時加--single-transaction參數(shù)適合innoDB事務(wù)數(shù)據(jù)庫備份,原理是將本次會話的隔離級別設(shè)定為repeatable read,以確保本次會話dump時,不會看到其他會話已經(jīng)提交了的數(shù)據(jù)

?

mysql備份還原

1.還原一個數(shù)據(jù)庫,需指定數(shù)據(jù)庫(如果備份時加了-B參數(shù),則不需要指定數(shù)據(jù)庫)

在linux系統(tǒng)下:mysql ?-u用戶 -p密碼 庫 < /opt/backname.sql

[root@oldboy opt]# mysql -uroot -poldboy oldboy? < /opt/testback.sql

2.還原多個數(shù)據(jù)庫:mysql ?-u用戶 -p密碼 < /opt/backname.sql

mysql -uroot -poldboy < /opt/twodbback.sql

?

source還原

在數(shù)據(jù)庫下:source 備份路徑及文件名

Mysql>source /opt/oldboyB.sql

如果備份文件中不包含建庫語句,則需先通過use切換到對應(yīng)的庫,再source還原

?

生產(chǎn)場景備份參數(shù)使用

myisam:mysqldump -uroot -poldboy -A -B -x --master-data=1 --events|gzip > /opt/all.sql.gz(混合引擎?zhèn)浞?#xff0c;以myisam為主)

?innodb:mysqldump -uroot -poldboy -A -B --master-data=1 --single-transaction --events|gzip > /opt/all.sql.gz

5.5.35以前默認(rèn)是myisam引擎,5.5.35以后默認(rèn)是innodb,現(xiàn)在推薦使用innodb方式備份

?

?

mysql的mysqldump備份合何時派上用場

1.遷移或者升級數(shù)據(jù)庫時

2.增加從庫的時候

3.人為的DDL、DML誤操作語句,主庫和從庫都會誤操作,因此需要備份

4.跨機(jī)房災(zāi)備,需要備份到異地

(因為硬件或特殊異常情況導(dǎo)致主庫和從庫宕機(jī),主從可以互相切換,無需備份)

?

mysql增量恢復(fù)的必備條件:開啟binlog日志,存在一份全備和全備之后到出現(xiàn)問題時間點的所有增量binlog

通過將修改變量sql_log_bin為OFF,可臨時不記錄binlog,在用binlog進(jìn)行恢復(fù)時不將執(zhí)行的操作記錄到binlog

?

全量備份:備份數(shù)據(jù)庫中所有的數(shù)據(jù)

增量備份:上次全量備份之后、到下次備份時間點之間更新的數(shù)據(jù)。對于mysql來說,binlog就是增量數(shù)據(jù)。

一般由于人為或者程序邏輯的方式在數(shù)據(jù)庫執(zhí)行了誤操作

?

按天備份:

每天的24:00:00全量備份,每天的數(shù)據(jù)增量備份即binlog

優(yōu)點:恢復(fù)時間短,維護(hù)成本低

缺點:占用空間大,占用資源多,經(jīng)常鎖表影響用戶體驗

按周備份

每周日24:00:00全量備份,每天的數(shù)據(jù)增量備份binlog

缺點:占用空間小,占用資源少,無需鎖表,用戶體驗好

缺點:恢復(fù)時間長,維護(hù)麻煩,成本高

?

企業(yè)場景:

1.中小公司,全量一般是每天一次,在業(yè)務(wù)流量低估時執(zhí)行全備,備份時鎖會表

2.單臺數(shù)據(jù)庫,用rsync(配合定時任務(wù),或者inotify,主從輔助),把所有binog備份到遠(yuǎn)程服務(wù)器,盡量做主從復(fù)制

3.大公司周備,本周到下次周備之前都是增量備份,節(jié)省備份時間,減小備份壓力,但是增量binlog文件副本太多,還原麻煩

4.一般一主多從,會有一個從庫做備份,延遲同步

?

轉(zhuǎn)載于:https://www.cnblogs.com/Forever77/p/10049718.html

總結(jié)

以上是生活随笔為你收集整理的mysql备份与还原-mysqldump备份、mysql与source还原的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。