當前位置:首頁 » 數據倉庫 » linux中怎樣備份資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

linux中怎樣備份資料庫

發布時間: 2022-05-18 09:51:38

Ⅰ 如何備份linux系統中的資料庫

mysqlmp 是採用SQL級別的備份機制,它將數據表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。

使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 db_backup 」,使用命令:
#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql

Ⅱ 怎麼linux下定時備份mysql資料庫備份

1、查看磁碟空間情況:

既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的存儲介質;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456

2、創建備份目錄:

上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;
cd /home
mkdir backup
cd backup123123

3、創建備份Shell腳本:

注意把以下命令中的DatabaseName換為實際的資料庫名稱;
當然,你也可以使用其實的命名規則!
vi bkDatabaseName.sh11

輸入/粘貼以下內容:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212

對備份進行壓縮:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212

注意:
把 username 替換為實際的用戶名;
把 password 替換為實際的密碼;
把 DatabaseName 替換為實際的資料庫名;

4、添加可執行許可權:
chmod u+x bkDatabaseName.sh11

添加可執行許可權之後先執行一下,看看腳本有沒有錯誤,能不能正常使用;
./bkDatabaseName.sh11

5、添加計劃任務

檢測或安裝 crontab

確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
# crontab
-bash: crontab: command not found

Ⅲ 如何備份linux下的mysql資料庫

1. 寫個自動備份的腳本autobackup.sh,內容如下#!/bin/bashmysqlmp -p databasename > mydata.sql2. 更改其為可執行文件 chmod +x autobackup.sh3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e0 0 * * * /路徑到/autobackup.sh第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周

Ⅳ 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資料庫

其實跟windows是一樣的
簡單的軟備份方法就是使用mysql命令:
mysqlmp
-u
用戶名
-p
密碼
-all-databases >
/home/mysql/bak.sql
不過你可以做成shell腳本,然後在crontab
中定時執行,這個方法在數據量少時比較好使
如果你的數據比較重要,又多建議使用集群+硬體RAID1,0來保障服務

Ⅵ linux系統下mySQL資料庫 備份方法和腳本

資料庫備份
1.創建個備份存儲目錄
mkdir
/root/backup/
2.以下內容寫到dbbackup.sh
#!/bin/bash
cd
/root/backup/
mysqlmp
-uroot
-pmima123
datatest
>/root/backup/datatest`date
+%Y-%m-%d`.sql
mysqlmp
-uroot
-pmima123
datatest1
>/root/backup/datatest1`date
+%Y-%m-%d`.sql
chmod
+x
dbbackup.sh

Ⅶ 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伺服器中備份

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
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can』t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同時上傳ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//m h dom mon dow command
//具體意義表示:分鍾 小時 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二點十分執行備份腳本)

Ⅸ LINUX下如何直接對MYSQL資料庫進行備份

MYSQL提供了數據導入與導出的兩個命令,分別是mysqlimport(導入)和
mysqlmp(導出或者轉儲)。詳細用法請網路一下。

Ⅹ 在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文件中

備份多個資料庫表