Linux下mysql資料庫如何定期備份與刪除

2021-09-02 12:23:20 字數 1538 閱讀 4936

網上隨便一搜有不少關於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下安裝mysql資料庫

tar zxvf mysql 5.6.33 linux glibc2.5 x86 64.tar.gz mv mysql 5.6.33 linux glibc2.5 x86 64 mysql 解壓完我的路徑是 opt mysql 1.查詢是否有mysql使用者組和mysql使用者 groups mys...

linux下mysql資料庫相關

1.檢視mysql資料庫埠號 netstat ngl grep mysql 2 mysql資料庫表名設定忽略大小寫 修改 etc my.cnf,在 mysqld 後新增lower case table names 1 1是不區分大小寫,0是區分 然後重啟mysql mysql資料庫亂碼 同樣修改 e...

Linux下Mysql資料庫備份

1 備份 可直接進入後台即可.mysql的預設目錄 var lib mysql 輸入命令 root obj mysql mysqldump u 資料庫使用者名稱 p test home bak 2015 09 10 test.sql enter password 密碼 此時,已成功將資料庫test備...