mysql備份怎么使用 mysql備份數(shù)據(jù)

怎么備份mysql數(shù)據(jù)庫

1、先用工具連接到數(shù)據(jù)庫,如Navicat Premium

成都創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計、網(wǎng)站維護、公眾號搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動行銷領(lǐng)域創(chuàng)造價值而不懈努力!

2、在要備份的數(shù)據(jù)庫點右鍵,選擇轉(zhuǎn)儲sql文件-結(jié)構(gòu)和數(shù)據(jù)

3、然后選擇備份路徑和備份文件名,保存即可。

請問mysql怎么自動備份數(shù)據(jù)庫?

數(shù)據(jù)庫的自動備份,可以減輕維護者的工作量也便于系統(tǒng)恢復(fù),對于比較重要的數(shù)據(jù)庫,最好還是設(shè)置下自動備份。

工具/原料

navicat for mysql

mysql 5.5

方法/步驟

打開navicat客戶端,連上mysql后,雙擊左邊你想要備份的數(shù)據(jù)庫。點擊“計劃”,再點擊“新建批處理作業(yè)”。

雙擊上面的可用任務(wù),它就會到下面的列表里去,代表你選擇了這個任務(wù)。

點擊保存,彈出個命名對話框,給這個任務(wù)取個名字,點擊“確定”

點擊“設(shè)置”計劃任務(wù)。

彈出的對話框,選擇“計劃”,再點擊“新建”。

這里設(shè)置為從2014年1月24號起每天早上九點備份該數(shù)據(jù)庫。如果想提高備份頻率、或者設(shè)置備份截止日期,請點擊“高級”。

高級選項可以把備份設(shè)置的更精細,比如這里設(shè)置的是在24小時內(nèi)每隔2小時就備份一次。加上前面的基本設(shè)置,任務(wù)計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續(xù)24小時。

最后,輸入電腦密碼就大功告成。

如何備份MYSQL數(shù)據(jù)庫?

定期的備份可使我們數(shù)據(jù)庫崩潰造成的損失大大降低。在MySQL中進行數(shù)據(jù)備份的方法有兩種,一種是使用mysqldump程序,一種是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷貝數(shù)據(jù)庫文件。mysqldump程序備份數(shù)據(jù)庫較慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序備份速度快,因為它直接對系統(tǒng)文件進行操作,需人為協(xié)調(diào)數(shù)據(jù)庫數(shù)據(jù)的備份前后一致性。

使用mysqldump備份數(shù)據(jù)庫其實就是把數(shù)據(jù)庫轉(zhuǎn)儲成一系列CREATE TABLE和INSERT語句,通過這些語句我們就可重新生成數(shù)據(jù)庫。使用mysqldump的方法如下:

% mysqldump --opt testdb | gzip /data/backup/testdb.bak

#--opt選項會對轉(zhuǎn)儲過程進行優(yōu)化,生成的備份文件會小一點,后的管道操作會進行數(shù)據(jù)壓縮

% mysqldump --opt testdb mytable1,mytable2 | gzip /data/backup/testdb_mytable.bak

#可在數(shù)據(jù)庫后接數(shù)據(jù)表名,只導(dǎo)出指定的數(shù)據(jù)表,多個數(shù)據(jù)表可用逗號分隔

--opt選項還可激活--add-drop-table選項,它將會在備份文件的每條CREATE TABLE前加上一條DROP TABLE IF EXISTS語句。這可方便進行數(shù)據(jù)表的更新,而不會發(fā)生“數(shù)據(jù)表已存在”的錯誤。

用mysqldump命令還可直接把數(shù)據(jù)庫轉(zhuǎn)移到另外一臺服務(wù)器上,不用生成備份文件。重復(fù)執(zhí)行可定期更新遠程數(shù)據(jù)庫。

% mysqladmin -h remote_host create testdb

% mysqldump --opt testdb | mysql -h remote_host testdb

另外還可通過ssh遠程調(diào)用服務(wù)器上的程序,如:

% ssh remote_host mysqladmin create testdb

% mysqldump --opt testdb | ssh remote_host mysql testdb

通過直接拷貝系統(tǒng)文件的方式備份數(shù)據(jù)庫,在備份時,要確保沒有人對數(shù)據(jù)庫進行修改操作。要做到這點,最好關(guān)閉服務(wù)器。如果不能關(guān)閉的,要以只讀方試鎖定有關(guān)數(shù)據(jù)表。下面是一些示例:

% cp -r db /backup/db #備份db數(shù)據(jù)庫到/backup/db目錄

% cp table_name.* /backup/db #只備份table_name數(shù)據(jù)表

% scp -r db remotehot:/usr/local/mysql/data #用scp把數(shù)據(jù)庫直接拷貝到遠程服務(wù)器

在把數(shù)據(jù)庫直接拷貝到遠程主機時,應(yīng)注意兩臺機器必須有同樣的硬件結(jié)構(gòu),或者將拷貝的數(shù)據(jù)表全部是可移植數(shù)據(jù)表類型。

使用mysqlhotcopy工具,它是一個Perl DBI腳本,可在不關(guān)閉服務(wù)器的情況下備份數(shù)據(jù)庫,它主要的優(yōu)點是:

它直接拷貝文件,所以它比mysqldump快。

可自動完成數(shù)據(jù)鎖定工作,備份時不用關(guān)閉服務(wù)器。

能刷新日志,使備份文件和日志文件的檢查點能保持同步。

下面是該工具的使用示例:

% mysqlhotcopy db /bakcup/ #把db數(shù)據(jù)庫備份到backup/db目錄里,會自動創(chuàng)建一個db目錄

使用BACKUP TABLE語句進行備份,該語句最早出現(xiàn)在MySQL 3.23.25版本中,僅適用于MyISAM數(shù)據(jù)表。用法如下:

mysql BACKUP TABLE mytable TO '/backup/db'; #把mytable數(shù)據(jù)表備份到/backup/db目錄下

為了執(zhí)行該語句,你必須擁有那些表的FILE權(quán)限和SELECT權(quán)限,備份目錄還必須是服務(wù)器可寫的。該語句執(zhí)行時,會先把內(nèi)存中的數(shù)據(jù)寫入磁盤,再把各個數(shù)據(jù)表的.frm(表結(jié)構(gòu)定義文件)、.MYD(數(shù)據(jù))文件從數(shù)據(jù)目錄拷貝到備份目錄。它不拷貝.MYI(索引)文件,因為它能用另外兩個文件重建。BACKUP TABLE語句備份時,依次鎖定數(shù)據(jù)表,當(dāng)同時備份多個數(shù)據(jù)表時,數(shù)據(jù)表可能會被修改,所以備份0完成時,備份文件中的數(shù)據(jù)和現(xiàn)時數(shù)據(jù)表中的數(shù)據(jù)可能會有差異,為了消除該差異,我們可用只讀方式鎖定數(shù)據(jù)表,在備份完成后再解鎖。如:

mysql LOCK TABLES tb1 READ,tb2 READ;

mysql BACKUP TABLE tb1,tb2 TO 'backup/db';

mysql UNLOCK TABLE

如何使用mysqldump命令備份mysql數(shù)據(jù)庫

通用規(guī)律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什么東西。于是喊上同事一起 less 看了下,上下掃了兩眼。突然發(fā)現(xiàn):1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數(shù)據(jù)?這不就是相當(dāng)于每次導(dǎo)入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?

---- Table structure for table `proc`--

---- Dumping data for table `proc`-

真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqldump 在執(zhí)行 --all-databases 會清空 mysql.proc 導(dǎo)致 sys 無法正常使用;這是一個 BUG,并且只存在于 MySQL 5.7.x !

1、mysql_upgrade install or upgrade sys schema

這個方案適用于 sys 庫已經(jīng)因為 mysqldump 導(dǎo)入而損壞的情況下使用。

注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。

2、全備時同時備份 sys 庫

這個方案適用于需要還原的數(shù)據(jù)庫,sys 庫也不太正常的情況下使用;在全備后額外再備份一份 sys 庫用于修復(fù)。

注意:不適用于做主從時使用它。

3、使用 databases 全備

這個方案適用于所有場景的全備需求,100% 安全。

4、使用 mysql-sys 開源代碼

如果你的數(shù)據(jù)庫 sys 全部中招了,又是生產(chǎn)庫。那你只能用這個方法;

mysql-sys:

中記錄了 sys 庫的創(chuàng)建語句將文件下載到本地,然后根據(jù)數(shù)據(jù)庫版本,執(zhí)行以下命令即可。

分享題目:mysql備份怎么使用 mysql備份數(shù)據(jù)
標(biāo)題路徑:http://muchs.cn/article4/doscooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、、云服務(wù)器、電子商務(wù)全網(wǎng)營銷推廣、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名