摘要:雖然有可能使用備份的數(shù)據(jù)庫,這種單一線程的方法需要時(shí)間來執(zhí)行。處理這種情況更好的方式是使用來在后臺運(yùn)行。也可使用在中的代替默認(rèn)情況下,包含數(shù)據(jù)庫嗎你需要添加選項(xiàng)怎樣從一個(gè)多數(shù)據(jù)庫備份中提取一個(gè)數(shù)據(jù)庫備份假設(shè)數(shù)據(jù)庫名字是
本文作者是 NIVAS,原文地址是 mysqldump – 25 tips for DBAs
mysqldump 是文本備份還是二進(jìn)制備份
它是文本備份,如果你打開備份文件你將看到所有的語句,可以用于重新創(chuàng)建表和對象。它也有 insert 語句來使用數(shù)據(jù)構(gòu)成表。
mysqldump 的語法是什么?
mysqldump -u [uname] -p[pass] –databases [dbname][dbname2] > [backupfile.sql]
使用 mysqldump 怎樣備份所有數(shù)據(jù)庫?
mysqldump -u root -p –all-databases > backupfile.sql
使用 mysqldump 怎樣備份指定的數(shù)據(jù)庫?
mysqldump -u root -p –databases school hospital > backupfile.sql
使用 mysqldump 怎樣備份指定的表?
mysqldump –user=root –password=mypassword -h localhost databasename table_name_to_dump table_name_to_dump_2 > dump_only_two_tables_file.sql
我不想要數(shù)據(jù),怎樣僅獲取 DDL?
mysqldump -u root -p –all-databases –no-data > backupfile.sql
一次 mysqldump 備份花費(fèi)多長時(shí)間?
這依賴于數(shù)據(jù)庫大小,100 GB 大小的數(shù)據(jù)庫可能花費(fèi)兩小時(shí)或更長時(shí)間
怎樣備份位于其他服務(wù)器的遠(yuǎn)程數(shù)據(jù)庫?
mysqldump -h 172.16.25.126 -u root -ppass dbname > dbname.sql
–routines 選項(xiàng)的含義是什么?
通過使用 -routines 產(chǎn)生的輸出包含 CREATE PROCEDURE 和 CREATE FUNCTION 語句用于重新創(chuàng)建 routines。如果你有 procedures 或 functions 你需要使用這個(gè)選項(xiàng)
怎樣列出 mysqldump 中的所有選項(xiàng)?
mysqldump –help
mysqldump 中常用的選項(xiàng)是?
All-databases Databases Routines Single-transaction (它不會鎖住表) – 一直在 innodb databases 中使用 Master-data – 復(fù)制 (現(xiàn)在忽略了) No-data – 它將 dump 一個(gè)沒有數(shù)據(jù)的空白數(shù)據(jù)庫
默認(rèn)所有的 triggers 都會備份嗎?
是的
single transaction 選項(xiàng)的含義是什么?
–singletransaction 選項(xiàng)避免了 innodb databases 備份期間的任何鎖,如果你使用這個(gè)選項(xiàng),在備份期間,沒有鎖
使用 mysqldump 備份的常用命令是什么?
nohup mysqldump –socket=mysql.sock –user=user1 –password=pass –single-transaction –flush-logs –master-data=2 –all-databases –extended-insert –quick –routines > market_dump.sql 2> market_dump.err &
使用 mysqldump 怎樣壓縮一個(gè)備份?
注意: 壓縮會降低備份的速度 Mysqldump [options] | gzip > backup.sql.gz
mysqldump 備份大數(shù)據(jù)庫是否是理想的?
依賴于你的硬件,包括可用的內(nèi)存和硬盤驅(qū)動(dòng)器速度,一個(gè)在 5GB 和 20GB 之間適當(dāng)?shù)臄?shù)據(jù)庫大小。 雖然有可能使用 mysqldump 備份 200GB 的數(shù)據(jù)庫,這種單一線程的方法需要時(shí)間來執(zhí)行。
怎樣通過使用 mysqldump 來恢復(fù)備份?
使用來源數(shù)據(jù)的方法
Mysql –u root –p < backup.sql
在恢復(fù)期間我想記錄錯(cuò)誤到日志中,我也想看看恢復(fù)的執(zhí)行時(shí)間?
Time Mysql –u root –p < backup.sql > backup.out 2>&1
怎樣知道恢復(fù)是否正在進(jìn)行?
顯示完整的進(jìn)程列表
如果數(shù)據(jù)庫是巨大的,你不得不做的事情是?
使用 nohup 在后臺運(yùn)行它
我是否可以在 windows 上使用 mysqldump 備份然后在 linux 服務(wù)器上恢復(fù)?
是的
我怎么傳輸文件到目標(biāo)服務(wù)器上去?
使用 scp
使用 sftp
使用 winscp
如果我使用一個(gè)巨大的備份文件來源來恢復(fù)會發(fā)生什么?
如果你的一個(gè)數(shù)據(jù)庫備份文件來源,它可能需要很長時(shí)間運(yùn)行。處理這種情況更好的方式是使用 nohup 來在后臺運(yùn)行。也可使用在 unix 中的 screen 代替
默認(rèn)情況下,mysqldump 包含 drop 數(shù)據(jù)庫嗎?
你需要添加 –add-drop-database 選項(xiàng)
怎樣從一個(gè)多數(shù)據(jù)庫備份中提取一個(gè)數(shù)據(jù)庫備份(假設(shè)數(shù)據(jù)庫名字是 test)?
sed -n "/^-- Current Database: `test`/,/^-- Current Database: `/p" fulldump.sql > test.sql
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17441.html
摘要:肖鵬微博數(shù)據(jù)庫那些事兒肖鵬,微博研發(fā)中心技術(shù)經(jīng)理,主要負(fù)責(zé)微博數(shù)據(jù)庫相關(guān)的業(yè)務(wù)保障性能優(yōu)化架構(gòu)設(shè)計(jì),以及周邊的自動(dòng)化系統(tǒng)建設(shè)。經(jīng)歷了微博數(shù)據(jù)庫各個(gè)階段的架構(gòu)改造,包括服務(wù)保障及體系建設(shè)微博多機(jī)房部署微博平臺化改造等項(xiàng)目。 showImg(https://segmentfault.com/img/bV24Gs?w=900&h=385); 對于手握數(shù)據(jù)庫的開發(fā)人員來說,沒有誤刪過庫的人生是...
閱讀 435·2019-08-29 12:44
閱讀 3013·2019-08-26 17:49
閱讀 2443·2019-08-26 13:40
閱讀 1189·2019-08-26 13:39
閱讀 3668·2019-08-26 11:59
閱讀 1830·2019-08-26 10:59
閱讀 2469·2019-08-23 18:33
閱讀 2698·2019-08-23 18:30