Linux下可以利用crontab系統每天定時備份MySQL資料庫,以下是詳細步驟:
1、創建保存備份文件的路徑/mysqldata
#mkdir /mysqldata
2、創建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
輸入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqlmp –all-databases -u root -p980405 > /mysqldata/mysql$rq.tar.gz
/var/lib/mysql是你資料庫文件的目錄,部分用戶是/usr/local/mysql/data,每個人可能不同
/mysqldata/表示保存備份文件的目錄,這個每個人也可以根據自己的要求來做。
㈡ linux伺服器操作系統,怎麼實現定時備份資料庫
linux系統下使用腳本定時備份資料庫,代碼如下:
#!/bin/bash
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是mysqlmp,還可以是mysqlmp,mysqldot,如果注釋掉第
#18行,則默認以tag的方式備份
#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#SettingEnd
NewFile="$BackupPath"db$(date+%y%m%d).tgz
DumpFile="$BackupPath"db$(date+%y%m%d)
OldFile="$BackupPath"db$(date+%y%m%d--date='5daysago').tgz
echo"-------------------------------------------">>$LogFile
echo$(date+"%y-%m-%d%H:%M:%S")>>$LogFile
echo"--------------------------">>$LogFile
#DeleteOldFile
if[-f$OldFile]
then
rm-f$OldFile>>$LogFile2>&1
echo"[$OldFile]DeleteOldFileSuccess!">>$LogFile
else
echo"[$OldFile]NoOldBackupFile!">>$LogFile
fi
if[-f$NewFile]
then
echo"[$NewFile]TheBackupFileisexists,Can』tBackup!">>$LogFile
else
case$BackupMethodin
mysqlmp*)
if[-z$DBPasswd]
then
mysqlmp-u$DBUser--opt$DBName>$DumpFile
else
mysqlmp-u$DBUser-p$DBPasswd--opt$DBName>$DumpFile
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
mysqlhot*)
rm-rf$DumpFile
mkdir$DumpFile
if[-z$DBPasswd]
then
mysqlhot-u$DBUser$DBName$DumpFile>>$LogFile2>&1
else
mysqlhot-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile2>&1
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
*)
/etc/init.d/mysqldstop>/dev/null2>&1
tarczvf$NewFile$DBPath>>$LogFile2>&1
/etc/init.d/mysqldstart>/dev/null2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
;;
esac
fi
echo"-------------------------------------------"
echo
#lftp-flftp.sh如果有FTP可同時上傳ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab–e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//mhdommondowcommand
//具體意義表示:分鍾小時日期月份星期命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如:1002***/home/backup/autobackupmysql.sh(表示零晨二點十分執行備份腳本)
㈢ LINUX下如何直接對MYSQL資料庫進行備份
MYSQL提供了數據導入與導出的兩個命令,分別是mysqlimport(導入)和
mysqlmp(導出或者轉儲)。詳細用法請網路一下。
㈣ linux下如何自動備份mysql資料庫
1.
寫個自動備份的腳本autobackup.sh,內容如下
#!/bin/bash
mysqlmp
-p
databasename
>
mydata.sql
2.
更改其為可執行文件
chmod
+x
autobackup.sh
3.
通過crontab讓系統自動運行這個腳本就好了,如crontab
-e
0
0
*
*
*
/路徑到/autobackup.sh
第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周
㈤ linux怎麼備份db2資料庫
linux中備份db2資料庫指南:
一、備份(backup)資料庫
1、離線全備份
1)、首先確保沒有用戶使用DB2:
db2 list applications for db sample
2)、停掉資料庫並重新啟動,以便斷掉所有連接:
db2stop force
db2start
3)、執行備份命令:(使用TSM作為備份的介質)
db2 backup db sample use tsm
備份成功,將會返回一個時間戳。
4)、檢查備份成功:
db2 list history backup all for sample 可以看到多了這個備份的紀錄。
db2atl query 命令也可以看到返回值。
5)、備註:
首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。
2、 在線備份:
1)、首先打開一下支持在線備份的資料庫配置參數:
db2 update db cfg for sample using userexit on 啟用用戶出口
db2 update db cfg for sample using logretain on 啟用歸檔日誌
db2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個Node都分別做設置)
開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。
2)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回一個時間戳。
3)、同樣可以用db2atl 和db2 list history察看備份紀錄。
4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回一個時間戳。
2)、同樣可以用db2atl 和db2 list history察看備份紀錄。
3)、還有一種delta的備份:
db2 backup db sample online incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。
4)、備註:
同樣,對每個節點都做這個操作。
㈥ linux下mysql資料庫備份工具有哪些
1.mysqlmp:最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個資料庫實例、單個資料庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。
比如導出單個資料庫 ytt: mysqlmp ytt > /tmp/ytt.sql;
恢復也非常簡單:mysql < /tmp/ytt.sql
缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。
2.mysqlpump:MySQL 5.7 GA 後推出的 mysqlmp工具的增強版。可以對同一個數據集多個線程並發備份,備份速度很快。
其他缺點和 mysqlmp 一樣。
3.MySQL Shell UTIL對象附帶的備份工具:隨 MySQL 8.0.21 最新版本捆綁發布,自帶多線程備份以及多線程恢復功能, 可以直接替代 mysqlmp/mysqlpump。
mp_instance/mpInstance 用來多線程備份 MySQL 整個單機實例
mp_schemas/mpSchemas 用來多線程備份 MySQL 單個資料庫
load_mp/loadDump 用來多線程恢復之前兩個工具導出的數據集文件
MySQL Shell UTIL 備份恢復工具具備如下特性:
1.壓縮導出(默認壓縮演算法 zstd)
2.數據集分塊導出,每塊 32M
3.默認導出存儲過程、存儲函數、觸發器、事件、用戶、視圖
4.默認 4 個線程導出
5.默認進度展示
6.默認字元集 utf8mb4
7.默認開啟一致性導出
8.默認表,視圖等定義導出為 SQL 語句
9.默認數據導出為 TSV 格式數據
㈦ 在linux怎麼備份資料庫表
1:打開的資料庫的命令
mysql> use mysql
Database changed
2:查看資料庫的命令
mysql> show databases;
3:查看資料庫中表的命令
mysql> show tables;
4:查看錶的詳細結構
mysql> desc tablename;
5:新建資料庫
mysql> create database school;
Query OK, 1 row affected (0.00 sec)
6:新建表
mysql> create table user01(
-> id varchar(20) NOT NULL,
-> userName varchar(10) NOT NULL,
-> age int(11) default'0',
-> sex char(2) NOT NULL default'm',
-> PRIMARY KEY (id)
-> )TYPE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;
7:插入
mysql> insert into student(id,stuName) values('1','tomcat');
Query OK, 1 row affected (0.00 sec)
8:刪除
mysql> delete from student where id='1';
Query OK, 1 row affected (0.01 sec)
9:刪除表中所有數據
mysql> truncate table student;
Query OK, 1 row affected (0.01 sec)
10:創建新用戶並給予許可權
mysql>grant all privileges on *.* to dbsync@"127.0.0.1" identified by "1234";
11:更改Mysql用戶密碼
c:\Mysql5.0\bin>mysqladmin -u root -p password 1234
Enter password: ****
備份資料庫及表
我們用mysqlmp命令來備份資料庫
c:\mysql\bin\>mysqlmp –u root –p 3306 mysql>d:\backup.sql
執行此語句將把mydb 備份到D盤的backup.sql文件中
備份多個資料庫表
㈧ linux系統上怎樣備份oracle資料庫
步驟以下:1、編寫備份資料庫的shell
1、創建保存shell文件的文件夾,2、文件內容為:#!/bin/sh
PATH=$PATH:$HOME/bin
export
PATH
ORACLE_BASE=/u01/app/oracle
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export
ORACLE_HOME
ORACLE_SID=HRDB
export
ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export
PATH
exp
fact/fact
file=/backup/fact`date
+%y%m%d`.dmp
log=/backup/factlog`date
+%y%m%d`.log
shell文件編寫終了1、運行以上的shell文件看是不是能生成備份的.dmp文件,如果能則表示shell文件編寫成功
2、然後在此shell文件的所在終端輸入命令,將此文件授權讓root用戶可以履行:
3、命令為:chmod
+x
backup.sh
4、然後到root終端編寫定時備份的語句5、語句為:crontab
–e
6、輸入i
7、輸入10
17
,,,/home/backupscript/backup.sh
8、按下esc建,輸入:wq
退出並保存便可。
㈨ linux下mysql自動備份資料庫與自動刪除臨時文件
一、每日23:00自動刪除臨時文件
首先查看一下crontab的任務列表:
crontab
-l
然後新建:
crontab
-e
添加一行:
00
03
*
*
*
rm
-rf
/www/cmstest/my120/public/scripts/jpgraph/*
保存退出。
重啟服務:
/etc/rc.d/init.d/crond
restart
二、每日24:00自動備份資料庫
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。
1、創建保存備份文件的路徑/mysqldata
#mkdir
/mysqldata
2、創建/usr/sbin/bakmysql文件
查找資料庫庫文件的路徑:
一般都是:/var/lib/mysql,或者,/usr/local/mysql/var
查找方法:
1、/usr/local/mysql/bin/mysql
-u
root
-p
進入資料庫
2、輸入:show
databases;
3、這是可以查看到所有的資料庫,然後
4、find
/
-name
db(你想查找的資料庫名)
之後:#vi
/usr/sbin/bakmysql
輸入
復制代碼
代碼如下:
rq=`
date
+%Y%m%d
`
tar
zcvf
/mysqldata/mysql$rq.tar.gz
/var/lib/mysql
3、修改文件屬性,使其可執行
#
chmod
+x
/usr/sbin/bakmysql
新建任務:
首先查看一下crontab的任務列表:
crontab
-l
然後新建:
crontab
-e
添加一行
00
04
*
*
*
/usr/sbin/bakmysql
表示每天24點鍾執行備份
4、重新啟動crond
#
/etc/rc.d/init.d/crond
restart
此後每天就可以在/mysqldata中看到類似下的文件了:mysql20040619.tar.gz。