mysql數據庫備份與恢復命令(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-hant/n/287401.html

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

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

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

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

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

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

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • Python命令大全及說明

    Python是一種高級編程語言,由Guido van Rossum於1989年底發明。它具有良好的語法結構和面向對象的編程思想,具有簡潔、易讀、易學的特點,是初學者以及專業開發人員…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個服務器上執行遠程另一個服務器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28

發表回復

登錄後才能評論