mysqldump給運維的25個小技巧

1、mysqldump 是文本備份還是二進制備份

它是文本備份,如果你打開備份文件你將看到所有的語句,可以用於重新創建表和對象。它也有 insert 語句來使用數據構成表。

 

2、mysqldump 的語法是什麼?

 mysqldump -u [uname] -p[pass] –databases[dbname][dbname2] > [backupfile.sql]

 

3、使用 mysqldump 怎樣備份所有數據庫?

mysqldump -u root -p –all-databases >backupfile.sql

 

4、使用 mysqldump 怎樣備份指定的數據庫?

mysqldump -u root -p –databases schoolhospital > backupfile.sql

 

5、使用 mysqldump 怎樣備份指定的表?

mysqldump –user=root –password=mypassword-h localhost databasename table_name_to_dump table_name_to_dump_2 >dump_only_two_tables_file.sql

 

6、我不想要數據,怎樣僅獲取 DDL?

mysqldump -u root -p –all-databases–no-data > backupfile.sql

 

7、一次 mysqldump 備份花費多長時間?

這依賴於數據庫大小,100GB 大小的數據庫可能花費兩小時或更長時間

 

8、怎樣備份位於其他服務器的遠程數據庫?

mysqldump -h 172.16.25.126 -u root -ppassdbname > dbname.sql

 

9、–routines 選項的含義是什麼?

通過使用 -routines產生的輸出包含 CREATEPROCEDURE 和 CREATEFUNCTION 語句用於重新創建routines。如果你有procedures 或 functions 你需要使用這個選項

 

10、怎樣列出 mysqldump 中的所有選項?

mysqldump –help

 

11、mysqldump 中常用的選項是?

All-databases

Databases

Routines

Single-transaction (它不會鎖住表) – 一直在 innodb databases 中使用

Master-data – 複製 (現在忽略了)

No-data – 它將 dump 一個沒有數據的空白數據庫

 

12、默認所有的 triggers 都會備份嗎?

是的

 

13、single transaction 選項的含義是什麼?

–singletransaction 選項避免了 innodb databases 備份期間的任何鎖,如果你使用這個選項,在備份期間,沒有鎖

 

14、使用 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 &

 

15、使用 mysqldump 怎樣壓縮一個備份?

注意: 壓縮會降低備份的速度

Mysqldump [options] | gzip >backup.sql.gz

 

16、mysqldump 備份大數據庫是否是理想的?

依賴於你的硬件,包括可用的內存和硬盤驅動器速度,一個在 5GB 和 20GB 之間適當的數據庫大小。 雖然有可能使用  mysqldump 備份 200GB 的數據庫,這種單一線程的方法需要時間來執行。

 

17、怎樣通過使用 mysqldump 來恢復備份?

使用來源數據的方法

Mysql –u root –p < backup.sql

 

18、在恢復期間我想記錄錯誤到日誌中,我也想看看恢復的執行時間?

Time Mysql –u root –p < backup.sql >backup.out 2>&1

 

19、怎樣知道恢復是否正在進行?

顯示完整的進程列表

 

20、如果數據庫是巨大的,你不得不做的事情是?

使用 nohup 在後臺運行它

 

21、我是否可以在 windows 上使用 mysqldump 備份然後在 linux 服務器上恢復?

是的

 

22、我怎麼傳輸文件到目標服務器上去?

使用 scp

使用 sftp

使用 winscp

 

23、如果我使用一個巨大的備份文件來源來恢復會發生什麼?

如果你的一個數據庫備份文件來源,它可能需要很長時間運行。處理這種情況更好的方式是使用 nohup 來在後臺運行。也可使用在 unix 中的 screen 代替

 

24、默認情況下,mysqldump 包含 drop 數據庫嗎?

你需要添加–add-drop-database 選項

 

25、怎樣從一個多數據庫備份中提取一個數據庫備份(假設數據庫名字是 test)?

sed -n '/^-- Current Database: `test`/,/^--Current Database: `/p' fulldump.sql > test.sql


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章