自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQLDump的備份小技巧

數(shù)據(jù)庫 MySQL
mysqldump 是日常比較常用的一個工具了,在對數(shù)據(jù)庫進行導出工作時,經(jīng)常會用到 mysqldump 。本篇文章將介紹 mysqldump 工具的使用方法并分享幾點備份技巧。

[[411675]]

前言:

mysqldump 是日常比較常用的一個工具了,在對數(shù)據(jù)庫進行導出工作時,經(jīng)常會用到 mysqldump 。本篇文章將介紹 mysqldump 工具的使用方法并分享幾點備份技巧。

1.mysqldump使用簡介

mysqldump 是 MySQL 系統(tǒng)自帶的邏輯備份工具,主要用于轉(zhuǎn)儲數(shù)據(jù)庫。它主要產(chǎn)生一系列的 SQL 語句,可以封裝到文件,該文件包含重建數(shù)據(jù)庫所需要的 SQL 命令如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。當我們需要還原這些數(shù)據(jù)時,只需要執(zhí)行此文件,即可將對應的數(shù)據(jù)還原。

mysqldump 基礎(chǔ)使用語法如下:

  1. Usage: mysqldump [OPTIONS] database [tables] 
  2. OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] 
  3. OR     mysqldump [OPTIONS] --all-databases [OPTIONS] 

執(zhí)行 mysqldump --help 或參考 MySQL 官方文檔,我們發(fā)現(xiàn) mysqldump 工具可配置的參數(shù)有很多,以下簡要說明部分常用的參數(shù)。

上表展示了一些常見的 mysqldump 相關(guān)選項,當你不了解某個參數(shù)的作用時,可以執(zhí)行 mysqldump --help 來獲取幫助。對于布爾類型的參數(shù),一般還存在一個與之對立的參數(shù),如 --triggers 默認開啟,可以使用 --skip-triggers 來禁用它。

2.幾點備份小技巧

雖然 mysqldump 不太適用于大數(shù)據(jù)量的備份,但因其具有靈活方便、可根據(jù)場景定制參數(shù)等優(yōu)點,還是被廣泛應用在數(shù)據(jù)導出領(lǐng)域。

筆者根據(jù)自己的使用經(jīng)驗,簡單分享幾點 mysqldump 備份小技巧:

  • 建議使用 --single-transaction 參數(shù)來獲得一致性備份,減少鎖表。
  • 按需求來導出,只要自己想要的數(shù)據(jù),盡量減少導出文件大小。
  • 若想用于搭建從庫,建議使用 --master-data = 2 參數(shù)記錄主庫 binlog 信息。
  • 若想備份存儲過程、自定義函數(shù)及事件,請加 -R -E 參數(shù),此二者默認不開啟。
  • 不了解的參數(shù)不要隨意加,按默認即可。

下面分享幾個不同場景下的 mysqldump 使用方法:

  1. # 備份全部數(shù)據(jù)庫(包含存儲過程、自定義函數(shù)及事件) 
  2. mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql 
  3.  
  4. # 要求記錄 binlog 位點信息 可用于搭建從庫 
  5. mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql 
  6.  
  7. # 備份指定數(shù)據(jù)庫 
  8. mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql 
  9. mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql 
  10.  
  11. # 備份部分表 
  12. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql 
  13. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql 
  14.  
  15. # 導出某個表,數(shù)據(jù)以單行insert顯示 
  16. mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql 
  17.  
  18. # 導出單表的部分數(shù)據(jù) 
  19. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql 
  20. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql 
  21.  
  22. # 排除某些表導出 
  23. mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql 
  24.  
  25. # 只導出結(jié)構(gòu)或只導出數(shù)據(jù) 
  26. mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql 
  27. mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql 
  28.  
  29. # 只導出某個庫的存儲過程及自定義函數(shù) 
  30. mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql 
  31.  
  32. # 遠程導出 即MySQL服務端不在本地 
  33. mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql 

總結(jié):

本篇文章主要介紹了 mysqldump 工具的使用方法及一些常見場景。mysqldump 作為一個實用工具,希望各位都能上手學習下,比用 Navicat 等圖形化界面導出更快速,且文件體積小。

 

責任編輯:武曉燕 來源: MySQL技術(shù)
相關(guān)推薦

2010-05-26 10:25:50

MySQLdump增量

2024-06-13 08:00:00

MySQLMySQLDump數(shù)據(jù)庫

2011-05-13 09:59:14

DB2數(shù)據(jù)庫備份

2013-02-27 09:16:34

2009-11-30 18:15:06

Linux Backu

2010-06-07 14:09:12

mysqldump備份

2011-03-04 14:39:03

MySQL數(shù)據(jù)庫mysqldump

2009-10-09 14:45:00

ccna小技巧ccna

2017-03-16 18:20:35

Windows 10Windows備份

2021-12-16 10:53:23

shell命令腳本

2018-11-28 12:30:58

Python命令行編程語言

2014-05-22 14:15:45

Android系統(tǒng)定制小技巧

2015-02-04 10:32:57

Objective-CSwift

2011-05-03 15:52:29

噴頭打印機

2010-05-31 09:50:13

MySQL數(shù)據(jù)庫

2010-07-12 16:10:43

Exchange 20備份恢復

2010-05-26 09:01:43

mysqldump備份

2021-05-13 12:46:54

GNU ScreenLinux

2012-12-24 15:07:28

symbian

2017-03-02 10:30:57

AndroidAndroid Stu技巧
點贊
收藏

51CTO技術(shù)棧公眾號