mysql數據庫的備份和恢復
一、在主從架構中,我們可以時時同步mysql數據庫,當我們需要拷貝文件做爲備份時,可以將從節點stop(stop slave ),然後拷貝文件即可。
二、mysql提供的一個命令mysqldump,用這個邏輯備份工具也可以爲我們進行數據備份。
1.備份:
#mysqldump -u root -p mytest > mytest_100901.sql
數據量過大時可使用gzip壓縮
#mysqldump -u root -p mytest | gzip > mytest_100901.sql.gz
2.恢復:
#mysqldump -u root -p mytest < mytest_100901.sql
gzip壓縮
# gzip < mytest_100901.sql.gz |mysqldump -u root -p mytest
還有使用圖形工具的也比較好用,mysqldump比較基本,通用
三、利用crontab,系統每天定時備份mysql數據庫
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。
1、創建保存備份文件的路徑/backup/mysqlbak
# mkdir -p /backup/mysqlbak
2、創建/bakmysql.sh文件
#cat >> /usr/sbin/bakmysql.sh <<EOF
#!/bin/bash
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"` (取年月日做爲文件夾名,)
mkdir -p $dateDIR/data (創建文件夾)
for i in `mysql -uroot -p123456 -e "show databases" | (登錄數據庫查看數據庫)
grep -v "Database" | grep -v "information_schema"` (不備份的數據庫)
do
mysqldump -uroot -p123456 $i |
gzip > /backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
EOF
3、修改文件屬性,使其可執行
# chmod a+x /bakmysql.sh
4、每天3點鐘執行備份
# crontab -e
01 3 * * * root /bakmysql.sh
以上只是每天備份一次,當每天備份多次時,可設置文件夾名爲:年、月、日、分鐘,相應的修改/etc/crontab(系統) 或者編輯某一用戶的crontab(/var/spool/cron/$USERNAME),以某以用戶身份來運行
mysql數據庫的備份和恢復
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
如果同事暗中傷害你,應該怎麼辦?
這個饅頭有餡
2019-02-24 13:59:08
職場中,抱怨越多的員工,越被領導瞧不起!
這個饅頭有餡
2019-02-24 13:59:08
老程序員被裁,應屆生卻能月薪 1.3 萬?這你能忍?
前端高達
2019-02-24 13:48:04
遇到到處蹭吃卻從不請客吃飯的主怎麼辦?
樑軍年
2019-02-24 13:26:35
MySQL数据库集群-PXC方案
wy53780
2020-04-23 13:55:07
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
SpringBoot 填坑 (一) | CentOS7.4 環境下,表時間字段默認值設置失效
一個優秀的廢人
2019-02-24 15:33:55
mysql-存儲過程
雙子城
2019-02-24 13:43:57
jmeter學習指南之操作 mysql 數據庫
小強測試
2019-02-24 13:34:06
20190222全天的實驗
清歡難尋
2019-02-24 13:17:21
MongoDB索引優化詳解
geekpy
2019-02-24 14:20:06