liunx下mysql備份及crontab自動備份

2021-08-22 04:52:50 字數 2806 閱讀 1641

liunx下使用mysql的 mysqldump進行備份和還原資料操作

crontab命令可以幫助我們實現自動定時備份資料庫。

備份某個資料庫

#先建立備份目錄

mkdir -p /var/local/backup

cd /var/local/backup

#備份資料庫

mysqldump -uusername -ppassword database > database_20180101.sql

還原某個資料庫

#先登陸mysql

mysql -uroot -ppass

#顯示所有資料庫

show databases;

#選擇要還原的資料庫

use database;

#還原某個資料庫

source /var/local/backup/database_20180101.sql;

#退出mysql

exit;

注意:

把 username 替換為實際的使用者名稱;

把 password 替換為實際的密碼;

把 database 替換為實際的資料庫名;

crantab 定時備份

1.新建編輯備份指令碼

#建立乙個目錄 backup/data

mkdir /root/backup/data

#進入目錄

cd /root/backup/data

#建立乙個.sh指令碼檔案

touch mysql_databse.sh

#更改指令碼檔案許可權

chmod 755 mysql_databse.sh

vim mysql_database.sh

編輯備份檔案

#!/bin/sh

db_name="database"

db_user="username"

db_pass="password"

bin_dir="/usr/bin"

bck_dir="/root/baclup/data"

date=$(date +%y%m%d_%h%m%s)

# todo

$bin_dir/mysqldump --opt -u$db_user -p$db_pass

$db_name \

> $bck_dir/$db_name_

$date.sql

find /root/backup/* -mtime +30 -exec rm {} \;
dump出來的sql檔案有可能很大,我們也可以開啟 gzip 壓縮,一般來說可以實現10倍壓縮比例:也就是講輸出到檔案的內容通過管道操作符讓 gzip 程式處理一遍.

$bin_dir/mysqldump --opt -u

$db_user

-p$db_pass

$db_name

| gzip \

>

$bck_dir

/$db_name_

$date.sql.gz

crontab -e
1

1 * * * /root/backup

/mysql_database.sh

crontab -l
測試任務是否執行

# tail -f /var/log/cron
aug315

:50:01 iz94bw0dj96z crond[15185]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:00:01 iz94bw0dj96z crond[15347]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:01:01 iz94bw0dj96z crond[15365]: (root) cmd (run-parts /etc/cron.hourly)

aug316:

01:01 iz94bw0dj96z run-parts(/etc/cron.hourly)[15365]: starting 0anacron

aug316:

01:01 iz94bw0dj96z run-parts(/etc/cron.hourly)[15374]: finished 0anacron

aug316:

10:01 iz94bw0dj96z crond[15520]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:20:01 iz94bw0dj96z crond[15695]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:30:01 iz94bw0dj96z crond[15864]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:40:01 iz94bw0dj96z crond[16026]: (root) cmd (/usr/lib

/sa/sa1 1

1)aug316

:50:01 iz94bw0dj96z crond[16196]: (root) cmd (/usr/lib

/sa/sa1 1

1)

liunx下mysql的安裝

liunx系統中安裝mysql的步驟 2 解除安裝老版本的mysql 查詢並刪除mysql有關的檔案 find name mysql rm rf 上邊查詢到的路徑,多個路徑用空格隔開 3 在安裝目錄下解壓檔案 如果自己定義了安裝路徑,沒有放在 usr local下的話,後面的安裝可能報錯,我自己的路...

liunx下mysql的安裝

liunx系統中安裝mysql的步驟 2 解除安裝老版本的mysql 查詢並刪除mysql有關的檔案 find name mysql rm rf 上邊查詢到的路徑,多個路徑用空格隔開 3 在安裝目錄下解壓檔案 如果自己定義了安裝路徑,沒有放在 usr local下的話,後面的安裝可能報錯,我自己的路...

liunx環境下安裝mysql5 7及以上版本

1.系統環境 cat etc redhat release centos linux release 7.6.1810 core getenforce disabled systemctl status firewalld firewalld.service firewalld dynamic fi...