本文目錄一覽:
MySQL的備份與還原,非常規備份,全量備份,增量備份
1:官方百萬級別的測試數據庫:
官方測試數據庫github網址:
下載到目錄,解壓即可,運行命令:
2:自己創建簡單測試數據庫:
快速隨機生成測試語言的網站:
選擇sql和想生成的字段,點擊生成Generate!生成即可。
在MySQL輸入生成的語句即可。
3:測試備份還原時用到的命令
刪庫跑路測試(先備份好)
還原後查詢庫的表數據是否完整。
採用複製整個數據存放目錄
1:查看數據庫數據存放位置
有兩種方法:
1):在數據庫中用命令 show variables like ‘datadir’; 查看
2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認為 /var/lib/mysql/ 位置
Linux中查看配置文件
2:複製目錄或者目錄下某個數據庫名
3:還原時直接複製文件夾到數據庫目錄即可
mysqldump又可叫做全量備份。
參數 –databases 同 -B ,單獨一個庫,也可省略。
1、備份命令mysqldump格式
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 database 數據庫名 文件名.sql
備份testDatabase數據庫
2、備份MySQL數據庫為帶刪除表的格式
備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。
3、直接將MySQL數據庫壓縮備份
備份並壓縮
4、備份MySQL數據庫某個(些)表
備份testDatabase中的myTable表,不需要用參數 –databases 或者 -B
5、同時備份多個MySQL數據庫
同時備份testDatabase和 employees兩個庫
6、備份服務器上所有數據庫
參數 –all-databases 同 -A
7、還原MySQL數據庫的命令
1) 不指定數據名還原,默認生成原數據庫名稱,還原所有數據庫。
2) 指定數據名還原,還原指定單個數據庫,需在數據庫種預先創建一個testDatabase名稱。
3) 還原壓縮的MySQL數據庫
4) 進入數據庫用source導入
增量備份是針對於數據庫的bin-log日誌進行備份的,增量備份是在全量的基礎上進行操作的。增量備份主要是靠mysql記錄的bin-log日誌。
1:查看是否開啟bin-log日誌
進入mysql輸入命令可查看。
顯示如下為開啟狀態,日誌文件在/var/lib/mysql/以binlog.00001的格式保存。
如未開啟,需要在配置文件種配置
2:查看目前使用的bin-log日誌文件
進入mysql查看命令。
顯示如下,目前使用的是binlog.000022文件,所有操作都記錄在此文件。
查看當前testDatabase的表myTable數據如下,
3:刷新日誌,使用新的日誌文件(備份)
在命令端執行命令
日誌文件從 binlog.000022 變為 binlog.000023
這時相當與已經備份成功,備份文件即為上次的binlog.000022日誌文件。
4:刪除數量,從日誌還原數據
1) 刪除ABC行
查詢以及沒有ABC行列。
2) 恢複數據ABC行
退出mysql,在命令端用mysqlbinlog命令恢復到binlog.000022日誌狀態。
進入數據庫再次查看數據,ABC已經恢復。
增量備份完成。
備份數據庫的命令
備份MySQL數據庫的命令mysqldump -hhostname -uusername -ppassword databasename backupfile.sql
02
備份MySQL數據庫為帶刪除表的格式備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫.mysqldump -–add-drop-table -uusername -ppassword databasename backupfile.sql
03
直接將MySQL數據庫壓縮備份mysqldump -hhostname -uusername -ppassword databasename | gzip backupfile.sql.gz
04
備份MySQL數據庫某個(些)表mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 backupfile.sql
05
同時備份多個MySQL數據庫mysqldump -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3 multibackupfile.sql
06
僅僅備份數據庫結構mysqldump –no-data –databases dbname1 dbname2 dbname3 structurebackupfile.sql
07
備份服務器上所有數據庫mysqldump –all-databases allbackupfile.sql
08
還原MySQL數據庫的命令mysql -hhostname -uusername -ppassword databasename backupfile.sql
09
還原壓縮的MySQL數據庫gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename
10
將數據庫轉移到新服務器mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
備份和恢複數據庫的命令
MySQL 命令行備份
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
(SHOW VARIABLES LIKE “%char%”; 查看數據庫安裝路徑)
Linux下命令:
[root@linuxsir01 root]# mysqldump -u root -p oa_int /home/oa_20160627.sql
Windows下命令:
C:\Users\Administratormysqldump -u 密碼 -p 數據庫名 d:/oa_int_20160708.sql
MySQL 命令行恢復:
Linux下命令:
[root@linuxsir01 root]# mysql -u root -p oa_int1 /home/oa_20160627.sql
Enter password:在這裡輸入數據庫的密碼
Windows下命令:
C:\Users\Administrator mysql -u root -p 數據庫名(要先創建好數據庫) d:/oa_int_20160708.sql
db2 v9備份 恢復到v11
一、備份(backup)數據庫:1、離線全備份:
1)、首先確保沒有用戶使用DB2:
db2 list applications for db sample
2)、停掉數據庫並重新啟動,以便斷掉所有連接:
db2stop force
db2start
3)、執行備份命令:(使用TSM作為備份的介質)
db2 backup db sample use tsm
備份成功,將會返回一個時間戳。
4)、檢查備份成功:
db2 list history backup all for sample 可以看到多了這個備份的紀錄。
db2adutl query 命令也可以看到返回值。
5)、備註:
首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。
2、 在線備份:
1)、首先打開一下支持在線備份的數據庫配置參數:
db2 update db cfg for sample using userexit on 啟用用戶出口
db2 update db cfg for sample using logretain on 啟用歸檔日誌
db2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個Node都分別做設置)
開啟這些參數後,數據庫處於backup pending狀態,要求做數據庫的離線全備份。做一下離線全備份,參考上面的命令。
2)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回一個時間戳。
3)、同樣可以用db2adutl 和db2 list history察看備份紀錄。
4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回一個時間戳。
2)、同樣可以用db2adutl 和db2 list history察看備份紀錄。
3)、還有一種delta的備份:
db2 backup db sample online incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。
4)、備註:
同樣,對每個節點都做這個操作。
二、恢復(RESTORE)數據庫:
1、新建數據庫:
在一般管理工具, 創建數據庫(別名要和原來的數據庫別名一致)。
2、恢複數據庫:
1):斷開連接:將網絡斷開,切斷所有的客戶連接,如果不行,先重啟。(如果有客戶端連接到DB2服務器,恢復不行的,包括控制中心)
2):恢復離線備份。
3、恢復在線備份:
1)、恢復。恢復命令為:db2 restore database DBName from C:\Temp taken at 20090622164642
2)、前滾。前滾命令為:db2 rollforward db DBName to end of logs(或者:控制中心-所有數據庫-dbname -右鍵-前滾)
3)、停止前滾。停止前滾命令為:db2 rollforward db DBName stop(或者:控制中心-所有數據庫-dbname -右鍵-停止前滾)
原創文章,作者:QNOD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143967.html