免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

mysql常用的備份命令與備份策略

MySQL常用的備份命令

成都創(chuàng)新互聯(lián)專注于三山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站定制開發(fā)。三山網(wǎng)站建設(shè)公司,為三山等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

mysqldump備份常用方法:
 1.導(dǎo)出一個數(shù)據(jù)庫
    mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
    例如
     # mysqldump -hhostname -uroot -ppwd dataname >dataname.sql 

  2.備份服務(wù)器上所有數(shù)據(jù)庫
   例如
      # mysqldump --all-databases > allbackupfile.sql
  3.備份一個表
  mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
    例如:
 # mysqldump -hhostname -uroot -ppwd dataname specific_tabname1 specific_tabname2> dataname_specific_tabname.sql
4.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
    例如
   # mysqldump -hhostname -uroot -ppwd  -–add-drop-table --no-data dataname > dataname_nodata.sql

--no-data:沒有數(shù)據(jù)
    –-add-drop-table 在每個create語句之前增加一個drop table命令

  5.直接將MySQL數(shù)據(jù)庫壓縮備份
    例如
  # mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

  6.同時備份多個MySQL數(shù)據(jù)庫
  例如
   mysqldump -hhostname -uusername -ppwd --databases dbname1 dbname2 dbname3 > multibackupfile.sql

  7.對于支持事務(wù)級的存儲引擎,為了保證數(shù)據(jù)一致性可以采用選項“--single-transaction”
    例如
 
 # mysqldump -hlocalhost -uroot -p backup --single-transaction > /tmp/backup3.sql
 
  8.導(dǎo)出特定格式的純文本文件(生成兩個.sql和txt兩個文件)
    例如:
 mysqldump -root -p -T /tmp dbname tablename --fields-enclosed-by=\" --fields-terminated-by=,
     
   --fields-enclosed-by:將字段的內(nèi)容包裝起來的符號
   --fields-terminated-by:兩個字段的分隔符
  
  如果一次dump多個表的話,每個表都會有sql和txt兩個文件;這種特定格式比較適合備份
 
  生成特定格式除了mysqldump外,還可以使用如下語句:
  > select ... into outfile from ...
  例如:
     mysql> select * into outfile '/tmp/t2.txt1'
    -> fields terminated by  ','           
    -> optionally enclosed by '"'  
    -> lines terminated by '\n'
    -> from t2 limit 10;                  

   optionally enclosed by:可以將字段的內(nèi)容“包裝”起來的,如果不使用“OPTIONALLY”則包括數(shù)字類型的所有類型數(shù)據(jù)都會被“包裝”,使用“OPTIONALLY”之后,則數(shù)字類型的數(shù)據(jù)不會被指 定字符“包裝”。
   lines terminated by:每條記錄結(jié)束的時候需要添加什么字符 

  fields terminated by:設(shè)定每兩個字段之間的分隔符   
           
mysqldump的邏輯備份恢復(fù)方法


   1.如果是insert的語句,直接運行該腳本即可
     方法一
  # mysql -hlocalhost -uroot -p backup < /tmp/t2.sql
  當(dāng)還原表時,一定要指明把表還原到哪個數(shù)據(jù)庫,這里是backup庫
 
  方法二
  在mysql里用source運行腳本
  mysql> source /tmp/t2.sql
 
   2. 如果備份是以特殊分隔符分隔的純數(shù)據(jù)文本文件
   方法一
   把/tmp/t2.txt還原到庫backup
   # mysqlimport -uroot -p backup --fields-enclosed-by=\" --fields-terminated-by=, /tmp/t2.txt
 
    方法二
  mysql> load data infile '/tmp/t2.txt' into table t2 fields terminated by '"' enclosed by ','; 
 

mysqlhotcopy的備份方法
mysqlhotcopy 是一個用perl 編寫的使用程序,其主要實現(xiàn)原理實際上就是通過先LOCK
住表,然后執(zhí)行FLUSH TABLES 動作,該正常關(guān)閉的表正常關(guān)閉,將該fsync 的數(shù)據(jù)都fsync,
然后通過執(zhí)行OS 級別的復(fù)制(cp 等)命令,將需要備份的表或者數(shù)據(jù)庫的所有物理文件都
復(fù)制到指定的備份集位置。


mysqlhotcopy db_name[./table_regex/] [new_db_name | directory]

例如:


復(fù)制數(shù)據(jù)庫
mysqlhotcopy  backup backup4

備份整庫
mysqlhotcopy  backup /tmp/

備份庫的部分表
mysqlhotcopy --allowold backup./t*/ /tmp/  
  
mysqlhotcopy的恢復(fù)方法
mysqlhotcopy 備份出來的是整個數(shù)據(jù)庫目錄,使用時可以直接拷貝到 mysqld 指定的 datadir目錄下即可,
同時要注意權(quán)限的問題,(將 db_name 目錄的屬主改成 mysqld 運行用戶)。此命令只能恢復(fù)數(shù)據(jù)庫到最后
一次備份時的狀態(tài)。

 
mysql的不同場景備份策略

備份策略一:

直接拷貝數(shù)據(jù)庫文件(不推薦),也稱為冷物理備份,即要停止mysql數(shù)據(jù)庫,然后copy物理文件,
速度非常快,恢復(fù)也非常方便和快捷,直接把備份文件原樣copy回來即可,但沒有應(yīng)用允許停庫備份的。
這里不存在數(shù)據(jù)一致性的問題,庫都停了,當(dāng)然可以保證一致性了;如果不停庫的話,那就要鎖住所有
的表以保證數(shù)據(jù)的一致性
         FLUSH TABLES WITH READ LOCK;
   這個sql是把內(nèi)存中的數(shù)據(jù)都刷新到磁盤中,同時鎖定數(shù)據(jù)表,以保證拷貝過程中不會有新的數(shù)據(jù)寫入。
   
    恢復(fù):此方案的數(shù)據(jù)恢復(fù)也很簡單,直接拷貝回原來的數(shù)據(jù)庫目錄下即可
   
備份策略二:

使用mysqlhotcopy備份數(shù)據(jù)庫(完全備份,適合小型數(shù)據(jù)庫備份),這種情況對于數(shù)據(jù)一致性要求非常嚴(yán)的
系統(tǒng)來對,就是一個無效的備份,因為沒辦法滿足數(shù)據(jù)的一致完整性約束。它是備份數(shù)據(jù)庫或單個表的最
快的途徑,但它只能運行在數(shù)據(jù)庫文件(包括數(shù)據(jù)表定義文件、數(shù)據(jù)文件、索引文件)所在的機器上,并
且mysqlhotcopy 只能用于備份 MyISAM表。
            
     恢復(fù):此方案的數(shù)據(jù)恢復(fù)也很簡單,直接拷貝回原來的數(shù)據(jù)庫目錄下即可
   
   

備份策略三:

使用mysqldump備份數(shù)據(jù)庫(完全+增量備份,適合中型數(shù)據(jù)庫備份),mysqldump 是采用SQL
級別的備份機制,它將數(shù)據(jù)表導(dǎo)成 SQL 腳本文件,在不同的 MySQL版本之間升級時相對
比較合適,這也是最常用的備份方法。mysqldump 比直接拷貝要慢些。對數(shù)據(jù)要求一致性非常嚴(yán)的
也很難保證,只能通過增量備份保證(適用任何引擎)

 

   恢復(fù):此方案的恢復(fù)分為兩步:


   1.先恢復(fù)完全備份文件,使用類似如下命令:
          mysql -hlocalhost -uroot -p backup < /tmp/t2.sql
    2.恢復(fù)增量備份文件,按logbin的時間先后順序執(zhí)行
        
        #  ls -tr1 HOSTNAME-bin* | xargs mysqlbinlog | mysql -uUser -pUserPWD

          
備份策略四:

使用主從復(fù)制機制(replication)(實現(xiàn)數(shù)據(jù)庫實時備份,適合中大型數(shù)據(jù)庫),為了不影響線上業(yè)務(wù),
實現(xiàn)在線備份,并且能增量備份,最好的辦法就是采用主從復(fù)制機制(replication),在 slave 機器
上做備份。

網(wǎng)頁名稱:mysql常用的備份命令與備份策略
本文來源:http://m.newbst.com/article4/gdesoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT全網(wǎng)營銷推廣網(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)

成都做網(wǎng)站