本文目錄一覽:
- 1、MySQL的備份與還原,非常規備份,全量備份,增量備份
- 2、怎麼備份和還原mysql資料庫
- 3、如何使用命令來備份和還原MySQL資料庫
- 4、備份和恢復資料庫的命令
- 5、如何使用mysql資料庫進行備份數據恢復
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命令備份資料庫
還原資料庫
1、使用mysql命令還原資料庫
將game_backup.sql 還原至 game 資料庫:
2、使用source命令還原資料庫
如果資料庫過大,建議可以使用source命令
如何使用命令來備份和還原MySQL資料庫
備份資料庫
使用mysqldump命令備份資料庫
複製代碼代碼如下:
# 如果要將game資料庫進行備份:
mysqldump -u root -p game game_backup.sql
# 如果希望備份所有的資料庫:
mysqldump -u root -p –all-databases all_backup.sql
還原資料庫
1、使用mysql命令還原資料庫
將game_backup.sql 還原至 game 資料庫:
複製代碼代碼如下:
mysql -u root -p game game_backup.sql
2、使用source命令還原資料庫
如果資料庫過大,建議可以使用source命令
複製代碼代碼如下:
mysql source game_backup.sql
備份和恢復資料庫的命令
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
如何使用mysql資料庫進行備份數據恢復
恢復整個資料庫首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用–skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。用最新的備份文件重新載入資料庫。如果您打算使用由mysqldump 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定–one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql–one-database db_namels 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令:% mysql–one-database db_name updata.392% mysql–one-database db_name updata.393…如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。恢復單個的表恢復單個表是很困難的。如果有通過mysqldump 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/287401.html