怎樣實現(xiàn)MySQL 備份與恢復(fù),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
在乳源等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需求定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,乳源網(wǎng)站建設(shè)費用合理。
邏輯備份:
1.mysqldump(數(shù)據(jù)導(dǎo)出工具)
mysqldump options db_name[table_name]//備份單個數(shù)據(jù)庫
mysqldump 選項 --database database-name1 [databases-name2]....//備份指定的數(shù)據(jù)庫一個或者多個
mysqldump 選項 --all-database //備份所有的數(shù)據(jù)庫
鏈接選項:
-u :指定用戶名
-p:指定密碼
-h:指定服務(wù)器ip或者域名
-P(大寫):指定端口
eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt
輸出內(nèi)容選項:
--add-drop-database:每個數(shù)據(jù)庫創(chuàng)建語句之前加上drop database語句
--add-drop-table:每個表創(chuàng)建語句之前加上drop table語句
-n:不包含數(shù)據(jù)庫的創(chuàng)建語句
-t:不包含數(shù)據(jù)表的創(chuàng)建語句
-d:不包含數(shù)據(jù)
輸出格式選項:
--compact:使輸出結(jié)果簡潔
-c --compact-insert:使輸出文件中的insert語句包含字段名
-T:將數(shù)據(jù)庫表中的數(shù)據(jù)備份為單純的數(shù)據(jù)文本和建表sql倆個文件
--fields-terminated-by=name(域分割符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域可選引用符)
--fields-escaped-by=name(轉(zhuǎn)移字符)
eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak
字符集選項:
--default-character-set=name:設(shè)置導(dǎo)出的客戶端字符集
eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt
其他選項:
-F:備份前刷新日志
-l:給所有表加讀鎖(備份期間使用,使備份的數(shù)據(jù)保持一致性)
[@more@]
備份:
備份所有數(shù)據(jù)庫:
mysqldump -u root -p --all-database > test.sql
備份數(shù)據(jù)庫test
mysqldump -u root -p test > test.sql
備份數(shù)據(jù)庫test下的temp表:
mysqldump -u root -p test demp > test.sql
備份數(shù)據(jù)庫下的所有表為逗號分割的文本,備份到/temp
mysqldump -u root -p test -T /temp --fields-terminated-by ','
完全恢復(fù):
msyql -u root -p < bakfile
注意:將備份恢復(fù)后數(shù)據(jù)并不完整,還需要將備份后執(zhí)行的日志進行重做
mysqlbinlog binlog-file | mysql -u root -p***
舉個完整的mysqldump備份和恢復(fù)的例子:
上午9點備份數(shù)據(jù)庫
mysqldump -u root -p -l -F test > test.dmp
9點半備份完畢,然后想數(shù)據(jù)庫中插入數(shù)據(jù)
10點數(shù)據(jù)庫突然故障,數(shù)據(jù)無法訪問,需要恢復(fù)備份
mysql -u root -p test < test.dmp
恢復(fù)后的數(shù)據(jù)并不完整,9點半插入的數(shù)據(jù)并沒有恢復(fù)
使用mysqlbinlog恢復(fù)自mysqldump備份以來的binlog
mysqlbinlog binlogfilename | mysql -u root -p test
基于時間點恢復(fù):
如果上午10點發(fā)生了誤操作.可以用下面語句進行備份和binlog將數(shù)據(jù)庫恢復(fù)到故障前:
mysqlbinlog --stop-date="2005-04-20 9:59:59" binlogfile | mysql -u root -p test
跳過故障的時間點,繼續(xù)執(zhí)行后面的binlog,完成恢復(fù)
mysqlbinlog --start-date="2005-04-20 9:59:59" binlogfile | mysql -u root -p test
基于位置恢復(fù):
mysqlbinlog --start-date="2005-04-20 9:55:59" --stop-date="2005-04-20 10:05:00" binlogfile > test.sql
查看此文件,找出出錯語句前后的位置號,例如是368312,368315
mysqlbinlog --stop-position="368312" binlogfile | mysql -u root -p test
mysqlbinlog --start-position="368315" binlogfile | mysql -u root -p test
表的導(dǎo)入和導(dǎo)出:
導(dǎo)出:
mysqldump -u username -p -T target_dir dbname tablename [options]
options:
--fields-terminated-by=name(域分割符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域可選引用符)
--fields-escaped-by=name(轉(zhuǎn)移字符)
備份數(shù)據(jù)庫下的所有表為逗號分割的文本,備份到/temp
mysqldump -u root -p -T /temp test --fields-terminated-by ',' --fields-optionally-enclosed-by '"'
導(dǎo)入:
msyqlimport -u root -p [LOCAL] dbname order_tab.txt [options]
OPTIONS:
--fields-terminated-by=name(域分割符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域可選引用符)
--fields-escaped-by=name(轉(zhuǎn)移字符)
eg:mysqlimport -u root -p test order.txt --fields-terminated-by=',' --fields-enclosed-by='"'
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
本文標題:怎樣實現(xiàn)Mysql備份與恢復(fù)
分享地址:http://jinyejixie.com/article10/pggjgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、用戶體驗、做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司
聲明:本網(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)