mysql导到相对位置_MySQL数据备份与恢复
**無論備份還是恢復,都要驗證用戶及權限**
一、數據備份
1、數據備份的備份方式
物理備份:cp、tar、tar+gzip ?—> 兼容性差,目標地址空間大,耗時
系統自帶物理備份工具mysqlhotcopy --> 備份時鎖表
邏輯備份:備份產生數據的SQL語句 ?—> 兼容性好,占用空間小
系統自帶完整備份工具Mysqldump(MySQL-client包產生)?--> 備份時鎖表
2、數據備份的備份策略
完整備份:完全備份,把數據庫服務器上的所有庫所有表全部備份
差異備份:自'完整備份’之后,疊加備份所有產生的新數據。
優缺點:備份數據有冗余,占用空間,恢復時方便
例如:第1天做了完整備份,第2天產生3條記錄,差異備份時需備份3條記錄,第3天產生2條 ? ? ? ? ? ?記錄,差異備份時則需備份5條記錄
完整備份? 1條記錄 ? ?1day ? ? 備份1條記錄
差異備份? 3條記錄 ? ?2day ? ? 備份3條記錄
2條記錄 ? ?3day ? ? 備份5條記錄
……… ……………
增量備份:‘自上一次備份’之后,備份產生的新數據。
優缺點:備份節省空間,恢復時調用的文件多
完整備份? 1條記錄 ? ?1day ? ?1
增量備份 ?3 ? ? ? ?2day ? ?3
2 ? ? ? ?3day ? ?2
……… …………
3、工作中通常備份策略用法:
完整備份+差異備份
完整備份+增量備份
4、備份工具
1)完整備份工具mysqldump
**由mysql包提供,數據量不太大時用,
**備份的時候鎖表,備份期間別人不能對備份數據進行操作
格式:mysqldump[–h數據庫IP/主機名]-u登錄用戶名 -p密碼數據庫名 > 路徑/備份文件名.sql
不寫路徑時,默認備份到當前命令所在的目錄下
若寫路徑,需事先創建好
若數據庫管理員從本機登錄且沒有密碼:mysqldump數據庫名 >路徑/xxx.sql
用來連接數據庫的用戶要對相應的數據庫有權限
數據庫名的表示格式:
所有庫--all-databases
指定單個庫下的所有表????數據庫名
某個庫下的某個表??????數據庫名 表名
備份某幾個庫-B數據庫名1? 數據庫名2? 數據庫名N
例:mysqldump -uroot -p--all-databases> /mysqlbak/alldb.sql?//備份數據庫服務器上的所有庫
解決:將備份寫入計劃任務后,因備份名一樣,會復蓋前天的備份,可以用“時間”做備份文件名。
獲取時間命令:#date +%F ? →2014-07-21
#date +%T→17:30:17
mysqldump webdb > webdb-`date +%F`.sql
mysqldump -h192.168.10.20 -uroot -ptarena webdb > /mysqllog/webdb-`date+%F`.sql?//遠程備份
二、數據恢復
格式:mysql –h服務器IP/主機名? -u登錄用戶名 –p密碼 數據庫名 < 備份文件名
mysql 數據庫名 < 備份文件名//若登錄數據庫不需要用戶名密碼
注意:恢復數據時候“”那么會自動清除備份文件內容
備份庫的時候,前面加-B備份出的文件里面帶“創建庫”的SQL語句,恢復的時候不用在數據庫里在創建庫
數據庫名是可選項,恢復數據時候必須查看一下備份文件里面的SQL語句,當恢復時使用的備份文件里有建庫SQL語句時,數據庫名可以省略,反之沒有建庫SQL語句的時候必須“進數據庫里面手動建一個庫(庫名可以隨便寫)”然后在恢復的時候寫上新建的數據庫名。
例:
mysql webdb < webdb-2014-01-06.sql
mysql -h192.168.10.20 -uroot -ptarena webdb
總結
以上是生活随笔為你收集整理的mysql导到相对位置_MySQL数据备份与恢复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 享受人车生活的宣传文案29句
- 下一篇: mysql安装连接测试c_Ubuntu