mysql數據庫和備份與恢復(mysql數據庫的備份與恢復的常用方法)

本文目錄一覽:

怎麼備份和還原mysql數據庫

備份數據庫

使用mysqldump命令備份數據庫

還原數據庫

1、使用mysql命令還原數據庫

將game_backup.sql 還原至 game 數據庫:

2、使用source命令還原數據庫

如果數據庫過大,建議可以使用source命令

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數據庫進行備份數據恢復

恢復整個數據庫首先,如果要恢復的數據庫是含有授權表的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 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。另一種可能性是用另一個服務器恢復整個數據庫,然後將所要的該表的文件拷貝到原始數據庫中。這實際很容易!在將文件拷貝回數據庫目錄時,應確保原始數據庫的服務器關閉。

mysql數據庫備份和還原

MySQL數據庫備份與還原

備份和恢複數據

生成SQL腳本

在控制台使用mysqldump命令可以用來生成指定數據庫的腳本文本,但要注意,腳本文本中只包含數據庫的內容,而不會存在創建數據庫的語句!所以在恢複數據時,還需要自已手動創建一個數據庫之後再去恢複數據。

mysqldump –u用戶名 –p密碼 數據庫名生成的腳本文件路徑

現在可以在C盤下找到mydb1.sql文件了!

注意,mysqldump命令是在Windows控制台下執行,無需登錄mysql!!!

執行SQL腳本

執行SQL腳本需要登錄mysql,然後進入指定數據庫,才可以執行SQL腳本!!!

執行SQL腳本不只是用來恢複數據庫,也可以在平時編寫SQL腳本,然後使用執行SQL 腳本來操作數據庫!大家都知道,在黑屏下編寫SQL語句時,就算髮現了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然後執行之!

SOURCE C:\mydb1.sql

注意,在執行腳本時需要先行核查當前數據庫中的表是否與腳本文件中的語句有衝突!例如在腳本文件中存在create table a的語句,而當前數據庫中已經存在了a表,那麼就會出錯!

還可以通過下面的方式來執行腳本文件:

mysql -uroot -p123 mydb1c:\mydb1.sql

mysql –u用戶名 –p密碼 數據庫要執行腳本文件路徑

這種方式無需登錄mysql!

mysql中備份和還原數據庫的語句什麼啊

一、Mysql數據庫備份指令格式:

mysqldump -h主機名 -P端口 -u用戶名 -p密碼 (–database) 數據庫名 文件名.sql

註:直接cmd執行該指令即可,不需要先mysql -u root -p鏈接數據庫

1、備份MySQL數據庫的命令

mysqldump -hhostname -uusername -ppassword databasename backupfile.sql

2、備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。

mysqldump -–add-drop-table -uusername -ppassword databasename backupfile.sql

二、數據庫還原有三種方式:source命令、mysql、gunzip命令

1、source 命令

進入mysql數據庫控制台,

mysql -u root -p

mysqluse 數據庫

然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)

mysqlsource /home/work/db/bkdb.sql

2、mysql

mysql -hhostname -uusername -ppassword databasename backupfile.sql

3、gunzip

gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295165.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 17:15
下一篇 2024-12-26 17:15

相關推薦

  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29

發表回復

登錄後才能評論