mysql資料庫定時每天備份,mysql資料庫定時備份腳本

本文目錄一覽:

怎麼定時自動備份mysql數據表

一、對於Windows主機

==============

假想環境:

MySQL

安裝位置:C:\MySQL

論壇資料庫名稱為:bbs

MySQL

root

密碼:123456

資料庫備份目的地:D:\db_backup\

@echo

off

C:\MySQL\bin\mysqladmin

-u

root

–password=123456

shutdown

C:\MySQL\bin\mysqldump

–opt

-u

root

–password=123456

bbs

D:\db_backup\bbs.sql

C:\MySQL\bin\mysqld-nt

將以上代碼保存為backup_db.bat

然後使用Windows的「計劃任務」定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)

二、對於Linux主機

===========

假想環境:

MySQL

安裝位置:/usr/local/mysq

論壇資料庫名稱為:bbs

MySQL

root

密碼:123456

資料庫備份目的地:/var/db_backup/

#!

/bin/bash

/usr/local/mysql/bin/mysqladmin

-u

root

–password=123456

shutdown

/usr/local/mysql/bin/mysqldump

–opt

-u

root

–password=123456

bbs

/var/db_backup/bbs.sql

/usr/local/mysql/bin/mysqld_safe

–user=mysql

將上述代碼保存在/usr/local/sbin/backup_db.sh

對該腳本賦予執行許可權:

#

chmod

755

/usr/local/sbin/backup_db.sh

加入crontab中自動執行:

#

crontab

-e

加入:

5

*

*

*

/usr/local/sbin/backup_db.sh

如何定時備份Mysql資料庫

資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。

工具/原料

navicat for mysql

mysql 5.5

方法/步驟

打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。

雙擊上面的可用任務,它就會到下面的列表裡去,代表你選擇了這個任務。

點擊保存,彈出個命名對話框,給這個任務取個名字,點擊「確定」

點擊「設置」計劃任務。

彈出的對話框,選擇「計劃」,再點擊「新建」。

這裡設置為從2014年1月24號起每天早上九點備份該資料庫。如果想提高備份頻率、或者設置備份截止日期,請點擊「高級」。

高級選項可以把備份設置的更精細,比如這裡設置的是在24小時內每隔2小時就備份一次。加上前面的基本設置,任務計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續24小時。

最後,輸入電腦密碼就大功告成。

如何使用crontab每天自動備份Mysql資料庫

1、建立自動備份腳本

為了使資料庫備份和恢復的符合我們的實際要求(備份保留七天,每天凌晨備份一次),用一段符合要求的Shell腳本來實現整個備份過程的自動化。

[root@mysqltest ~]# vim mysql-backup.sh

#!/bin/bash

##作者:Barlow##

##最後修訂:2013-6-25##

#腳本作用:備份Mysql資料庫

#

#設定備份保留天數K

K=7

#

TODAY=`date ‘+%Y%m%d’`

KDAY=`date -d “$TODAY – $K day” ‘+%Y%m%d’`

BACKDIR=/var/mysqlbak/$TODAY

KDAYDIR=/var/mysqlbak/$KDAY

mkdir -p $BACKDIR

#

# The Password of MySQL

ROOTPASS=******* ##將*替換為實際mysql資料庫的root密碼

#

# Get the Name of Database

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

#

# Backup with Database

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy

done

#

#刪除過期備份

if [ -d “$KDAYDIR” ];then

rm -rf $KDAYDIR

exit

fi

改變腳本許可權,root具有完全許可權,其他用戶沒有任何許可權:

[root@mysqltest ~]# chmod 700 mysql-backup.sh

運行一次腳本:

[root@mysqltest ~]# ./mysql-backup.sh

查看運行結果:

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

mysql/ wordpress/

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

總用量 8

drwxr-x—. 2 mysql mysql 4096 6月 25 14:26 mysql

drwxr-x—. 2 mysql mysql 4096 6月 25 14:26 wordpress

可以看到備份已經成功完成。

2、創建自動任務每天運行

[root@mysqltest ~]# crontab -e

00 01 * * * /root/mysql-backup.sh

##每天凌晨1點運行一次

如何在linux下實現mysql資料庫每天自動備份

1. 寫個自動備份的腳本autobackup.sh,內容如下

#!/bin/bash

mysqldump -p databasename mydata.sql

2. 更改其為可執行文件 chmod +x autobackup.sh

3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e

0 0 * * * /路徑到/autobackup.sh

第一個0表示分鐘,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/287094.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 13:08
下一篇 2024-12-23 13:08

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python腳本控制其他軟體

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟體也是Python…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python自動化運維腳本

    Python自動化運維腳本是使用Python編寫的代碼,可以幫助管理員自動化執行繁瑣、重複的操作任務。通過Python自動化運維腳本,管理員可以在更短的時間內完成工作,提高工作效率…

    編程 2025-04-28

發表回復

登錄後才能評論