萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL數據庫在Linux遠程服務器定時備份和刪除教程

MySQL數據庫在Linux遠程服務器定時備份和刪除教程

關於Linux遠程服務器Mysql數據庫定時備份和刪除的資料,網上有很多,但是很多步驟不夠詳細,而且很多錯誤,不適合新手學習。自己在這學習這方面走了不少彎,現在終於琢磨了點名堂,所以寫了這個教程,方便新手學習。

1.Linux服務器一般是ssh協議,如果本地也是Linux環境,可以直接通過shell連接,命令:

ssh  -l  root  -p  8080  202.***.***.***

其中root為用戶名,一般為root,8080為端口,202.***.***.***為服務器ip地址;

接下來會提示你輸入密碼,輸入正確後即可進入服務器;

2.然後需要創建一個數據庫備份數據存放的文件夾;

mkdir /mysql/mysqldata_bakeup

/mysql/mysqldata_bakeup為創建的路徑,可以自定義;

3.創建並編輯文件在路徑 /usr/sbin/bakmysql,命令:

vi /usr/sbin/bakmysql

此時會在/usr/sbin/路徑下創建bakmysql文件,並進入bakmysql編輯狀態,接著輸入;

fn = ` date +%Y%m%d `
    tar  zcvf  /mysql/mysqldata_bakeup/mysql$fn.tar.gz  /mysql/data
   


    mysqldump -u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql

find $fn -name "mysql*.tar.gz" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1



find $fn -name "mysql*.sql" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1

/mysql/mysqldata_bakeup/為備份數據保存路徑,msql$fn.tar.gz為備份數據根據日期編號的名稱,/mysql/data為服務器數據庫的數據路徑,yourdatabase為你要備份的數據庫名;

注意其中第一句命令不是單引號,而是tab鍵上面的符號,且date前後需要有空格;

第二句命令有兩種方法,第一種直接備份並壓縮數據庫數據源文件,第二種是利用mysql自帶命令mysqldump導出數據庫yourdatabase的sql文件;

第三句是刪除7天前的備份文件,文件名寫法對應第二句。

4.修改文件bakmysql屬性,使其可執行;

chmod +x /usr/sbin/bakmysql

5.修改/etc/crontab:

vi /etc/crontab

進入編輯狀態,在最下面添加:

01 3 * * * root /usr/sbin/bakmysql

01 3 是每天凌晨3:01執行 bakmysql文件;

6.關於重啟有時候並不需要,如果服務器在/etc/rc.d/init.d/路徑下有crond服務,可以選擇重啟crond,命令:

/etc/rc.d/init.d/crond restart

7.最後退出服務器命令:exit

總結:本文是以客戶端本地也是Linux環境下的案例,如果本地是windows環境,可以裝一個客戶端來遠程管理Linux,然後操作步驟基本相同,希望本文對你有所幫助。

copyright © 萬盛學電腦網 all rights reserved