【資料分析師_02_SQL+MySQL】030_MySQL的資料備份和效能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)
MySQL的資料備份和效能管理
1 概述
1.1 資料備份
像所有資料一樣,MySQL的資料也必須經常備份。由於MySQL資料庫是基於磁碟的檔案,普通的備份系統和例程就能備份MySQL的資料。但是,由於這些檔案總是處於開啟和使用狀態,普通的檔案副本備份不一定總是有效。
- 使用命令列實用程式
mysqldump
轉儲所有資料庫內容到某個外部檔案。在進行常規備份前這個實用程式應該正常執行,以便能正確地備份轉儲檔案。 - 可用命令列實用程式
mysqlhotcopy
從一個資料庫複製所有資料(並非所有資料庫引擎都支援這個實用程式)。 - 可以使用MySQL的
BACKUP TABLE
或SELECT INTO OUTFILE
轉儲所有資料到某個外部檔案。
1.2 效能管理(索引 Index)
資料庫工作人員把他們工作中的相當一部份時間花在了效能調整上、試驗改善DBMS效能。
- 在診斷應用的滯緩現象和效能問題時,效能不良的資料庫(以及資料庫查詢)通常是最常見的禍因。
- 利用索引
Index
可以大幅改善查詢時候的效能問題。 - 利用一些作業系統的引數也可以提供資料訪問的效能。
- 使用
Explain
語句讓MySQL解釋它將如何執行一條SELECT語句。 - 一般來說,儲存過程執行得比一條一條地執行其中的各條MySQL語句快
2 資料備份
MySQL中自帶了 mysqldump功能,可以以此功能進行資料備份
2.1 利用 NAVICAT備份
注:右鍵可以檢視備份位置
2.2 利用 CMD備份
2.2.1 備份一個資料庫
d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --database erp > d:\mysql\create_db_1.sql
# 執行程式mysqldump.exe -h 本機 -p port是3306 登陸root賬戶 -p --選擇erp資料庫進行備份 > 備份位置\備份檔案的名稱
2.2.2 備份多個表
d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p erp orders> d:\mysql\create_orders.sql
# 執行程式mysqldump.exe -h 本機 -p port是3306 登陸root賬戶 -p --選擇erp資料庫中的orders表進行備份 > 備份位置\備份檔案的名稱
2.2.3 備份多個資料庫
d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --database erp test > d:\mysql\create_db_2.sql
# 執行程式mysqldump.exe -h 本機 -p port是3306 登陸root賬戶 -p --選擇erp和test資料庫進行備份 > 備份位置\備份檔案的名稱
2.2.4 備份所有資料庫
d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --all-database d:\mysql\create_db_all.sql
# 執行程式mysqldump.exe -h 本機 -p port是3306 登陸root賬戶 -p --選擇所有資料庫進行備份 > 備份位置\備份檔案的名稱
2.3 備份空資料庫(測試用)
d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --no-data --database erp d:\mysql\create_db_blank.sql
# 執行程式mysqldump.exe -h 本機 -p port是3306 登陸root賬戶 -p --不選擇資料 --選擇所有資料庫進行備份 > 備份位置\備份檔案的名稱
2.4 資料的匯入/匯出
匯出資料:
SELECT * FROM customers INTO OUTFILE 'd:\mysql\out.csv'
匯入資料:
(customers2 是一張空表,此時將匯出的資料重新載入空表中)
SELECT * FROM customers2
LOAD DATA INFILE 'c:\mysql\out.csv' INTO TABLE customers2;
# 將資料匯入空表
SELECT * FROM customers2;
# 匯入空表後檢視
2 效能管理(索引 Index)
右鍵Table → 選項卡Index → 寫入索引的名稱,索引列欄位名,索引型別和方法 → 儲存
然後在 MySQL語句中加上 ‘EXPLAIN’ 即可在結果中看到 MySQL篩選過程的資料:
EXPLAIN
SELECT * FROM customers WHERE cust_id = 10004
相關文章
- mysql的常用備份工具:mysqldump和mysqlhotcopyMySql
- mysqldump 資料庫備份程式MySql資料庫
- mysql 備份資料庫 mysqldumpMySql資料庫
- mysqldump 進行資料備份MySql
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- mysqldump來備份MYSQL資料庫(指令碼)MySql資料庫指令碼
- 資料同步和資料備份
- Linux基礎命令---mysqldump資料庫備份LinuxMySql資料庫
- mysql備份--mysqlhotcopyMySql
- 資料庫資料的恢復和備份資料庫
- 詳解MySQL資料備份之mysqldump使用方法MySql
- 使用mysqldump進行mysql資料庫備份還原MySql資料庫
- SQL資料庫備份管理SQL資料庫
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- mysqldump備份時如何保持資料的一致性MySql
- MySQL資料庫mysqldump命令備份異常的一個案例MySql資料庫
- 七、許可權管理和資料庫備份資料庫
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-資料檔案增量備份物件資料庫
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- TDSQL資料同步和備份SQL
- 從CDP解析資料備份和副本管理技術
- mysql 匯入 mysqldump 備份得資料保 gone away錯誤MySqlGo
- ORACLE使用者管理方式下備份資料和複製資料庫Oracle資料庫
- Mysql資料備份和還原MySql
- 資料備份≠容災備份
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- mysqldump 備份匯出資料排除某張表或多張表MySql
- 從遠端把mysql透過mysqldump備份資料庫到本地MySql資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- mongo資料備份Go
- 資料備份策略
- oracle資料備份Oracle
- MySQL資料備份MySql
- 資料庫備份資料庫
- 【備份恢復】閃回資料庫(一)閃回資料庫的管理資料庫
- 雲備份和同步檔案資料
- 「MySQL」資料庫備份和還原MySql資料庫