• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    MySQL備份與恢復

    發布時間:  2012/8/24 17:14:59

    邏輯備份:
    1.mysqldump(數據導出工具)
      mysqldump options db_name[table_name]//備份單個數據庫
      mysqldump 選項 --database database-name1 [databases-name2]....//備份指定的數據庫一個或者多個
      mysqldump 選項 --all-database //備份所有的數據庫-
     

      鏈接選項:
      -u :指定用戶名
       -p:指定密碼
       -h:指定服務器ip或者域名
       -P(大寫):指定端口
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt
    輸出內容選項:
    --add-drop-database:每個數據庫創建語句之前加上drop database語句
    --add-drop-table:每個表創建語句之前加上drop table語句
    -n:不包含數據庫的創建語句
    -t:不包含數據表的創建語句
    -d:不包含數據
    輸出格式選項:
     --compact:使輸出結果簡潔
     -c --compact-insert:使輸出文件中的insert語句包含字段名
     -T:將數據庫表中的數據備份為單純的數據文本和建表sql倆個文件
       --fields-terminated-by=name(域分割符)
       --fields-enclosed-by=name(域引用符)
       --fields-optionally-enclosed-by=name(域可選引用符)
       --fields-escaped-by=name(轉移字符)
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak
    字符集選項:
    --default-character-set=name:設置導出的客戶端字符集
    eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt
    其他選項:
    -F:備份前刷新日志
    -l:給所有表加讀鎖(備份期間使用,使備份的數據保持一致性)

    備份:
    備份所有數據庫:
    mysqldump -u root -p  --all-database  >  test.sql
    備份數據庫test
    mysqldump -u root -p  test  >  test.sql
     備份數據庫test下的temp表:
    mysqldump -u root -p  test demp >  test.sql
    備份數據庫下的所有表為逗號分割的文本,備份到/temp
    mysqldump -u root -p test -T /temp --fields-terminated-by '',''
    完全恢復:
    msyql -u root -p < bakfile
    注意:將備份恢復后數據并不完整,還需要將備份后執行的日志進行重做
    mysqlbinlog binlog-file | mysql -u root -p***
    舉個完整的mysqldump備份和恢復的例子:
    上午9點備份數據庫
    mysqldump -u root -p -l -F test > test.dmp
    9點半備份完畢,然后想數據庫中插入數據
    10點數據庫突然故障,數據無法訪問,需要恢復備份
    mysql -u root -p test < test.dmp
    恢復后的數據并不完整,9點半插入的數據并沒有恢復
    使用mysqlbinlog恢復自mysqldump備份以來的binlog
    mysqlbinlog binlogfilename | mysql -u root -p test
    基于時間點恢復:
    如果上午10點發生了誤操作.可以用下面語句進行備份和binlog將數據庫恢復到故障前:
    mysqlbinlog --stop-date="2005-04-20 9:59:59" binlogfile | mysql -u root -p test
    跳過故障的時間點,繼續執行后面的binlog,完成恢復
    mysqlbinlog --start-date="2005-04-20 9:59:59" binlogfile | mysql -u root -p test
    基于位置恢復:
    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

    表的導入和導出:
    導出:
        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(轉移字符)
    備份數據庫下的所有表為逗號分割的文本,備份到/temp
    mysqldump -u root -p -T /temp test --fields-terminated-by '','' --fields-optionally-enclosed-by ''"''
    導入:
       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(轉移字符)
    eg:mysqlimport -u root -p test order.txt --fields-terminated-by='','' --fields-enclosed-by=''"''
     


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線