1、先用工具連接到數(shù)據(jù)庫,如Navicat Premium
成都創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!
2、在要備份的數(shù)據(jù)庫點(diǎn)右鍵,選擇轉(zhuǎn)儲(chǔ)sql文件-結(jié)構(gòu)和數(shù)據(jù)
3、然后選擇備份路徑和備份文件名,保存即可。
數(shù)據(jù)庫的自動(dòng)備份,可以減輕維護(hù)者的工作量也便于系統(tǒng)恢復(fù),對于比較重要的數(shù)據(jù)庫,最好還是設(shè)置下自動(dòng)備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql后,雙擊左邊你想要備份的數(shù)據(jù)庫。點(diǎn)擊“計(jì)劃”,再點(diǎn)擊“新建批處理作業(yè)”。
雙擊上面的可用任務(wù),它就會(huì)到下面的列表里去,代表你選擇了這個(gè)任務(wù)。
點(diǎn)擊保存,彈出個(gè)命名對話框,給這個(gè)任務(wù)取個(gè)名字,點(diǎn)擊“確定”
點(diǎn)擊“設(shè)置”計(jì)劃任務(wù)。
彈出的對話框,選擇“計(jì)劃”,再點(diǎn)擊“新建”。
這里設(shè)置為從2014年1月24號(hào)起每天早上九點(diǎn)備份該數(shù)據(jù)庫。如果想提高備份頻率、或者設(shè)置備份截止日期,請點(diǎn)擊“高級(jí)”。
高級(jí)選項(xiàng)可以把備份設(shè)置的更精細(xì),比如這里設(shè)置的是在24小時(shí)內(nèi)每隔2小時(shí)就備份一次。加上前面的基本設(shè)置,任務(wù)計(jì)劃就是:從2014年1月24號(hào)開始,每天九點(diǎn),每隔2小時(shí)備份一次,每天的備份都持續(xù)24小時(shí)。
最后,輸入電腦密碼就大功告成。
定期的備份可使我們數(shù)據(jù)庫崩潰造成的損失大大降低。在MySQL中進(jìn)行數(shù)據(jù)備份的方法有兩種,一種是使用mysqldump程序,一種是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷貝數(shù)據(jù)庫文件。mysqldump程序備份數(shù)據(jù)庫較慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序備份速度快,因?yàn)樗苯訉ο到y(tǒng)文件進(jìn)行操作,需人為協(xié)調(diào)數(shù)據(jù)庫數(shù)據(jù)的備份前后一致性。
使用mysqldump備份數(shù)據(jù)庫其實(shí)就是把數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)成一系列CREATE TABLE和INSERT語句,通過這些語句我們就可重新生成數(shù)據(jù)庫。使用mysqldump的方法如下:
% mysqldump --opt testdb | gzip /data/backup/testdb.bak
#--opt選項(xiàng)會(huì)對轉(zhuǎn)儲(chǔ)過程進(jìn)行優(yōu)化,生成的備份文件會(huì)小一點(diǎn),后的管道操作會(huì)進(jìn)行數(shù)據(jù)壓縮
% mysqldump --opt testdb mytable1,mytable2 | gzip /data/backup/testdb_mytable.bak
#可在數(shù)據(jù)庫后接數(shù)據(jù)表名,只導(dǎo)出指定的數(shù)據(jù)表,多個(gè)數(shù)據(jù)表可用逗號(hào)分隔
--opt選項(xiàng)還可激活--add-drop-table選項(xiàng),它將會(huì)在備份文件的每條CREATE TABLE前加上一條DROP TABLE IF EXISTS語句。這可方便進(jìn)行數(shù)據(jù)表的更新,而不會(huì)發(fā)生“數(shù)據(jù)表已存在”的錯(cuò)誤。
用mysqldump命令還可直接把數(shù)據(jù)庫轉(zhuǎn)移到另外一臺(tái)服務(wù)器上,不用生成備份文件。重復(fù)執(zhí)行可定期更新遠(yuǎn)程數(shù)據(jù)庫。
% mysqladmin -h remote_host create testdb
% mysqldump --opt testdb | mysql -h remote_host testdb
另外還可通過ssh遠(yuǎn)程調(diào)用服務(wù)器上的程序,如:
% ssh remote_host mysqladmin create testdb
% mysqldump --opt testdb | ssh remote_host mysql testdb
通過直接拷貝系統(tǒng)文件的方式備份數(shù)據(jù)庫,在備份時(shí),要確保沒有人對數(shù)據(jù)庫進(jìn)行修改操作。要做到這點(diǎn),最好關(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ù)庫直接拷貝到遠(yuǎn)程服務(wù)器
在把數(shù)據(jù)庫直接拷貝到遠(yuǎn)程主機(jī)時(shí),應(yīng)注意兩臺(tái)機(jī)器必須有同樣的硬件結(jié)構(gòu),或者將拷貝的數(shù)據(jù)表全部是可移植數(shù)據(jù)表類型。
使用mysqlhotcopy工具,它是一個(gè)Perl DBI腳本,可在不關(guān)閉服務(wù)器的情況下備份數(shù)據(jù)庫,它主要的優(yōu)點(diǎn)是:
它直接拷貝文件,所以它比mysqldump快。
可自動(dòng)完成數(shù)據(jù)鎖定工作,備份時(shí)不用關(guān)閉服務(wù)器。
能刷新日志,使備份文件和日志文件的檢查點(diǎn)能保持同步。
下面是該工具的使用示例:
% mysqlhotcopy db /bakcup/ #把db數(shù)據(jù)庫備份到backup/db目錄里,會(huì)自動(dòng)創(chuàng)建一個(gè)db目錄
使用BACKUP TABLE語句進(jìn)行備份,該語句最早出現(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í)行時(shí),會(huì)先把內(nèi)存中的數(shù)據(jù)寫入磁盤,再把各個(gè)數(shù)據(jù)表的.frm(表結(jié)構(gòu)定義文件)、.MYD(數(shù)據(jù))文件從數(shù)據(jù)目錄拷貝到備份目錄。它不拷貝.MYI(索引)文件,因?yàn)樗苡昧硗鈨蓚€(gè)文件重建。BACKUP TABLE語句備份時(shí),依次鎖定數(shù)據(jù)表,當(dāng)同時(shí)備份多個(gè)數(shù)據(jù)表時(shí),數(shù)據(jù)表可能會(huì)被修改,所以備份0完成時(shí),備份文件中的數(shù)據(jù)和現(xiàn)時(shí)數(shù)據(jù)表中的數(shù)據(jù)可能會(huì)有差異,為了消除該差異,我們可用只讀方式鎖定數(shù)據(jù)表,在備份完成后再解鎖。如:
mysql LOCK TABLES tb1 READ,tb2 READ;
mysql BACKUP TABLE tb1,tb2 TO 'backup/db';
mysql UNLOCK TABLE
通用規(guī)律只有使用 --all-databases (-A) 會(huì) ERROR 1356,那就看看他到底備份了什么東西。于是喊上同事一起 less 看了下,上下掃了兩眼。突然發(fā)現(xiàn):1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一個(gè)新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數(shù)據(jù)?這不就是相當(dāng)于每次導(dǎo)入全備都給我一個(gè)沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會(huì)備份 sys 庫。但在使用 mysqldump 在執(zhí)行 --all-databases 會(huì)清空 mysql.proc 導(dǎo)致 sys 無法正常使用;這是一個(gè) BUG,并且只存在于 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個(gè)方案適用于 sys 庫已經(jīng)因?yàn)?mysqldump 導(dǎo)入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時(shí),還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會(huì)誤傷;使用 mysql_upgrade 的時(shí)候要加上 --upgrade-system-tables,不然會(huì)掃描用戶庫表。
2、全備時(shí)同時(shí)備份 sys 庫
這個(gè)方案適用于需要還原的數(shù)據(jù)庫,sys 庫也不太正常的情況下使用;在全備后額外再備份一份 sys 庫用于修復(fù)。
注意:不適用于做主從時(shí)使用它。
3、使用 databases 全備
這個(gè)方案適用于所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼
如果你的數(shù)據(jù)庫 sys 全部中招了,又是生產(chǎn)庫。那你只能用這個(gè)方法;
mysql-sys:
中記錄了 sys 庫的創(chuàng)建語句將文件下載到本地,然后根據(jù)數(shù)據(jù)庫版本,執(zhí)行以下命令即可。
分享題目:mysql備份怎么使用 mysql備份數(shù)據(jù)
標(biāo)題路徑:http://jinyejixie.com/article4/doscooe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、、云服務(wù)器、電子商務(wù)、全網(wǎng)營銷推廣、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)