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