日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复

發布時間:2023/12/15 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL 數據庫的備份和恢復  基本知識>>>>>>>  邏輯備份:  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 db1 -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 db1 -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="2009-01-20 9:59:59" binlogfile | mysql -u root -p test  跳過故障的時間點,繼續執后面的binlog,完成恢復  mysqlbinlog --start-date="2009-01-20 9:59:59" binlogfile | mysql -u root -p test  基于位置恢復:  mysqlbinlog --start-date="2009-01-20 9:55:59" --stop-date="2009-01-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='"'>>>>>>>>>>>  現在來梳理下網站上的db備份過程:  1.? 首先我們在各db服務器上備份各自有的數據庫,在本地保留一份,然后通過rsync  同步到控制機上(storctrl3).? 各db服務器的備份目錄結構在”/data/” 下. 腳本每  天凌晨2點執行.  2.? 另外一種備份方法通過網絡備份.? 腳本在控制機上(storcrtl3):  /data/mysqlbak/nagios? 腳本每天凌晨1點執行。  3.? db 恢復,先找到要恢復到哪個時間的備份數據庫..然后解壓縮,再倒入到對應的db  服務器上就可以了.

小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

總結

以上是生活随笔為你收集整理的mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。