Mysql資料庫備份 資料庫備份和表備份

2021-09-25 06:41:24 字數 3328 閱讀 8378

mysql中資料備份使用的命令是:mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的

工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然後通過這些語句,就能夠建立表並插入資料。

備份的語句mysqldump的基本語法:mysqldump -u username -p dbname table1 table2...->backupname.sql;

引數解析:

dbname:要備份資料庫的名稱;

table1和table2引數表示的是需要備份的資料庫表的名稱,假如為空則表示需要備份整個資料庫;

backupname.sql表示的是將資料庫備份到指定的這個以後綴公尺國.sql的檔案中,這個檔案的前面可以執行乙個詳細的絕對路徑下;

演示備份資料庫例項:

①、 檢視當前mysql資料庫下存在哪些資料庫和備份資料庫中存在哪些表,表中存在哪些資料;

如上圖的幾個操作中使用到了mysql命令列操作中的幾個基本操作命令,在此對幾個命令做乙個簡單的闡述,不會的小夥伴可以學習下:

*、mysql -u username -p password;: 這個命令用於輸入使用者名稱和密碼登陸mysql伺服器;

*、show databases;:用於檢視mysql伺服器中的資料庫情況(會羅列出mysql中的所有資料庫的資訊)

*、use databses;:選擇使用的預設資料庫;

*、show tables;:檢視預設資料庫中的表情況(羅列所有表資訊)

②、 在了解資料庫伺服器中的庫和表的基本情況下,我們使用命令備份資料庫ssh下的表acc的資料作為案列演示:

如圖2所示:在備份語句寫好的情況下,輸入資料庫密碼之後就直接執行備份操作了,沒有任何異常。然後開啟我們備份的碟符檢視備份是不是成 功的完成.

圖3:從圖3可以比較直觀的看出資料庫的資訊是備份成功了。其中標註①是建立表結構,標註②是向表中插入備份的資料。需要注意一點的是標註③在 資料備份的時候有乙個操作就是首先鎖表,不准其它使用者對這張表進行寫的操作。很簡單的乙個資料備份操作就這麼完成了。

③、 這裡重新演示一下不寫備份表名的情況下是不是備份整個資料庫的資料資訊;

圖4備份的情況:

圖5從圖中的情況確實是備份了整個資料庫test_create庫中的全部表資訊了。

注意:

檔案的開頭會記錄mysql的版本、備份的主機名和資料庫名。檔案中以「--」開頭的都是sql語言的注釋,以"/*!40101"等形式開頭的是與mysql

有關的注釋。40101是mysql資料庫的版本號,如果mysql的版本比1.11高,則/*!40101和*/之間的內容就被當做sql命令來執行,如果比4.1.1低就

會被當做注釋。

資料庫備份其實都是差不多的語句,他們最基本的差異就是新增一些命令用於區別資料庫備份的深度和廣度;

備份語法:

mysqldump -u username -p --databases dbname2 dbname2 > backup.sql
這個語句中新增了乙個命令:--databases用於指定多個資料庫;在這裡使用mysql自帶的資料庫mysql和我自定義的資料庫test_create演示操作:

圖6在此就不截圖備份的結果了,大家可以自己動手操作演示加深學習印象。

mysqldump命令備份所有資料庫的語法如下:

mysqldump -u username -p --all-databases > backupname.sql
這裡相對於之前的乙個和多個書庫備份多新增了乙個--all命令用於標識這是備份多個資料庫的操作。

mysql有一種非常簡單的備份方法,就是將mysql中的資料庫檔案直接複製出來。這是最簡單,速度最快的方法。

不過在此之前,要先將伺服器停止,這樣才可以保證在複製期間資料庫的資料不會發生變化。如果在複製資料庫的過程中還有資料寫入,就會造

成資料不一致。這種情況在開發環境可以,但是在生產環境中很難允許備份伺服器。

注意:這種方法不適用於innodb儲存引擎的表,而對於myisam儲存引擎的表很方便。同時,還原時mysql的版本最好相同。

一看名字就知道是熱備份。因此,mysqlhotcopy支援不停止mysql伺服器備份。而且,mysqlhotcopy的備份方式比mysqldump快。

mysqlhotcopy是乙個perl指令碼,主要在linux系統下使用。其使用lock tables、flush tables和cp來進行快速備份。

據庫檔案複製到目標目錄。

linux下的操作命令如下:

[root@localhost ~]# mysqlhotcopy [option] dbname1 dbname2 backupdir/
常用選項:

目前,該工具也僅僅能夠備份myisam型別的表。

1、還原使用mysqldump命令備份的資料庫的語法如下:

mysql -u root -p [dbname] < backup.sq
示例:

①、首先刪除原表ssh.acc中的資料:

圖7通過這種方式還原時,必須保證兩個mysql資料庫的版本號是相同的。myisam型別的表有效,對於innodb型別的表不可用,innodb表的表空間不能直接複製。

以上內容**:

mysql備份資料庫

一般伺服器上沒有分使用者的時候mysql使用者名稱可以用 root 得到最高許可權.ubuntu下使用mysql命令匯入 匯出 sql檔案 redhat的mysql命令在 usr local mysql bin 目錄下面 匯出 1.匯出整個資料庫 mysqldump u 使用者名稱 p密碼 資料庫名...

MySQL備份資料庫

1 備份某一資料庫 c users administrator d d cd mysql program files mysql mysql server 5.6 bin d mysql program files mysql mysql server 5.6 bin mysqldump uroot...

mysql備份資料庫

需求 1,每天4點備份mysql資料 2,為節省空間,刪除超過3個月的所有備份資料 3,刪除超過7天的備份資料,保留3個月裡的 10號 20號 30號的備份資料 建立shell檔案 vim backup mysql.sh mysqldump uroot p123456 all databases d...