本文目錄一覽:
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
可以將.bak格式的資料庫備份文件導入SQL server 2000的資料庫中,然後重新導出成.sql的文件, 放入mysql中執行即可,然後再將數據導為CSV文件或者其他文件,導入到mysql中執行即可
mysql怎麼導入和導出資料庫文件
附加資料庫
或者導入資料庫
sql本身有數據導入的操作。但如果要從一個備份的文件中導入數據,則要進行另外的操作。下面以一個例子進行說明。
sql伺服器上已有一個doe資料庫,並且裡面有大量的數據,現準備從另外一個備份文件a1.bak(不是doe資料庫的備份文件)中導入另外的數據(即導入後在doe中增加一些數據表,表中已錄有數據),並保持原doe的數據不變。
1、首先,在「sql企業管理器」中新建一個臨時資料庫a1。
2、右擊a1資料庫,選擇:所有任務->還原資料庫。
3、在「還原資料庫」窗口中,選擇:「從設備」。
4、點擊「選擇設備」。
5、點擊「添加」。
6、從文件名中選擇要還原的資料庫文件,如a1.bak。
7、點擊「確定」,返回「還原資料庫」窗口。
8、點擊「選項」卡,進入選項設置。
9、鉤選:「在現有資料庫上強制還原」。
10、修改「移到物理文件名」為:「c:\a1.ldf」、「c:\a1.mdf」。
11、點確定,即可導入備份文件中的數據到臨時資料庫a1中。
12、此時,你可以將數據從a1導入到另外一真正要導入的資料庫中,如doe資料庫。
(下面的數據導入操作為sql2000企業管理器的一般數據導入導出操作。)
13、在「sql企業管理器」中選擇「doe」資料庫。
14、右擊doe資料庫,選擇:所有任務->導入數據。
15、在「dts導入/導出嚮導」窗口的「選擇數據源」中,數據源選擇剛才建立並導入數據的臨時資料庫a1。點擊下一步。
16、在「選擇目的」中,系統已經默認為doe資料庫。
17、連續點擊「下一步」,直到完成。
經過上面的操作,你已經成功地將備份文件a1.bak中數據導入doe資料庫中,並且doe資料庫原有數據不變。
此時,你可以刪除臨時資料庫a1。
如何向mysql導入一個資料庫全部導入
MySQL命令行導出資料庫
1,進入MySQL目錄下的bin文件夾:cd
MySQL中到bin文件夾的目錄
如我輸入的命令行:cd
C:\Program
Files\MySQL\MySQL
Server
4.1\bin
(或者直接將windows的環境變數path中添加該目錄)
2,導出資料庫:mysqldump
-u
用戶名
-p
資料庫名
導出的文件名
如我輸入的命令行:mysqldump
-u
root
-p
news
news.sql
(輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在資料庫名後面輸入表名即可)
3、會看到文件news.sql自動生成到bin文件下
命令行導入資料庫
1,將要導入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導出的第1步
3,進入MySQL:mysql
-u
用戶名
-p
如我輸入的命令行:mysql
-u
root
-p
(輸入同樣後會讓你輸入MySQL的密碼)
4,在MySQL-Front中新建你要建的資料庫,這時是空資料庫,如新建一個名為news的目標資料庫
5,輸入:mysqluse
目標資料庫名
如我輸入的命令行:mysqluse
news;
6,導入文件:mysqlsource
導入的文件名;
如我輸入的命令行:mysqlsource
news.sql;
MySQL備份和還原,都是利用mysqldump、mysql和source命令來完成的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/228698.html