當前位置:首頁 » 操作系統 » linux備份還原資料庫

linux備份還原資料庫

發布時間: 2023-01-07 19:22:02

1. Window下備份的DB2資料庫,在linux下怎麼恢復

將windows下的資料庫備份文件直接復制到LINUX下,在LINUX下創建一個同名空庫,然後執行restore db命令,應該成功的。
另外一種方法是可以用db2look取得windows資料庫的DDL語句,到LINUX系統下執行一遍。數據依靠windows下執行EXPORT命令導出,LINUX下IMPORT。

2. linux怎麼備份資料庫

一、 使用mysql相關命令進行簡單的本地備份

1 mysqllmp命令

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

使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 db_backup 」,使用命令:
#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql
還可以使用gzip命令對備份文件進行壓縮
#mysqlmp db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6.sql.gz (備份後生成的sql不含建庫語句!)
只備份一些頻繁更新的資料庫表:
## mysqlmp sample_db articles comments links > /usr/backups/mysql/sample_db.art_comm_lin.2008-1-6.sql
上面的命令會備份articles, comments, 和links 三個表。

恢復數據使用命令:
#mysql –u -p db_backup </usr/backups/mysql/ db_backup2008-1-6.sql
注意使用這個命令時必須保證資料庫正在運行。

2 使用 SOURCE 語法

其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
# SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。

3 mysqlhot備份

mysqlhot 只能用於備份 MyISAM,並且只能運行在 linux 和Unix 和 NetWare 系統上。mysqlhot 支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#mysqlhot -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把資料庫目錄 db_name 拷貝到 /tmp 下)
注意,想要使用 mysqlhot,必須要有 SELECT、RELOAD(要執行 FLUSH TABLES) 許可權,並且還必須要能夠有讀取 datadir/db_name 目錄的許可權。

還原資料庫方法:

mysqlhot 備份出來的是整個資料庫目錄,使用時可以直接拷貝到 mysqld 指定的 目錄 (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:

# /bin/rm -rf /mysql-backup/**//*old
關閉mysql 伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
# cp -af /mysql-backup/**//* /var/lib/mysql /
# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
#chown -R nobody:nobody /usr/local/mysql/data/ (將 db_name 目錄的屬主改成 mysqld 運行用戶)
二、使用網路備份

將MYSQL數據放在一台計算機上是不安全的,所以應當把數據備份到區域網中其他Linux計算機中。假設Mysql伺服器IP地址是:192.168.1.3。區域網使用Linux的遠程計算機IP地址是192.168.1.4;類似於windows的網路共享,UNIX(Linux)系統也有自己的網路共享,那就是NFS(網路文件系統),在linux客戶端掛接(mount)NFS磁碟共享之前,必須先配置好NFS服務端。linux系統NFS服務端配置方法如下:

(1)修改 /etc/exports,增加共享目錄
/export/home/sunky 192.168.1.4(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)

3. 如何在Linux下實現DB2資料庫備份和恢復

Linux, 環境, 資料庫Linux, 資料庫, 環境

通過如下備份腳本備份的資料庫進行恢復

備份腳本:

  1. ./home/db2admin/sqllib/db2profile
  2. db2backupdbdatedbonlineto/dbbackup/dateincludelogs
  3. cd/dbbackup/datetoday=`date+」%Y%m%d」`
  4. file1=」*$today*」
  5. ftpfile=`ls$file1`
  6. echo$ftpfile
  7. lftp-c「openftp地址;user用戶名密碼@$0;put$ftpfile」
  8. find/dbbackup/date-ctime+15-execrm{};

恢復命令:

通過root命令登錄到伺服器上後切換到資料庫用戶名下用su – db2admin命令。

進入到備份文件存放目錄即可。

4. 從Linux備份DB2資料庫到AIX上怎麼恢復

DB2資料庫離線和在線全備、增量備份及恢復的具體操作步驟:

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)、備註:同樣,對每個節點都做這個操作。

4、 恢復資料庫

(1)、手工drop資料庫,模擬災難恢復的情況,執行如下操作:

db2 drop db sample

(2)、恢復備份歷史紀錄(每次backup,不論類型,都會備份歷史紀錄文件)。這里的時間戳應該是最新的:

db2 restore db sample history file use tsm

taken at 20030102223107 buffer 100

(3)、使用db2的恢復幫助工具:

db2ckrst -d sample -t 20030101224424 -r database

命令返回建議的必需的恢復操作命令。

(4)、按照幫助工具的提示,先做版本恢復,恢復命令如下:

db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100

同樣先做主節點的恢復,再做其他節點的恢復操作。

(5)、這時資料庫處於rollforward-pending state的狀態,需要做roll forward 操作:

db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop

前滾到同一個時間點。這個操作要在主節點來做。

5、說明:

(1)、恢復操作也有online和offline的,區別等同backup的操作。

(2)、按照表空間的備份和恢復類似,加子句TABLESPACE ( tablespace-name 即可。表空間級別的備份/恢復操作要求資料庫處於歸檔日誌和啟用增量備份模式下。

(3)、恢復的例子中只做了版本恢復。若還有更新的全備份和增量備份的image,可以依次做恢復(請注意使用db2ckrst的建議恢復次序和次數)之後,最後做roll forward.

5. linux系統mysql怎麼還原

你說的還原,指有備份的還原,下面是你做過備份的恢復:
如我們要備份mysql中已經存在的名為linux的資料庫,要用到命令mysqlmp
命令格式如下:
[root@linuxsir01 root]# mysqlmp -u root -p linux > /root/linux.sql
Enter password:在這里輸入資料庫的密碼

通過上面的命令,我們要明白兩件事,首先備份資料庫是要以資料庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實備份的位置和文件名,根據自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;
比如我想把linux的資料庫備份到/home/beinan,資料庫的文件名為linuxsir031130.sql,所以應該輸入如下的命令。

[root@linuxsir01 root]#mysqlmp -u root -p linux > /home/beinan/linuxsir031130.sql
Enter password:在這里輸入資料庫管理員root的資料庫密碼

如果數據量大會佔用很大空間,這時可以利用gzip壓縮數據,命令如下:

#mysqlmp -u root -p tm | gzip > tm_050519.sql.gz

這樣我們到/home/beinan目錄下就能發現mysql中名為linux的資料庫的備份文件linuxsir031130.sql
綜上所述,我們學習時要學會變通。

恢復:
首先我們還是要操作上面幾個過程,比如添加資料庫管理員(如果您沒有添加過mysql資料庫管理員的話),創建資料庫等。
比如我們要把在/home/beinan這個目錄中的linuxsir031130.sql這個備份,導入名為linux的資料庫中,應該如下操作;
[root@linuxsir01 root]#mysql -u root -p linux < /home/beinan/linuxsir031130.sql
Enter password:在這里輸入密碼

如果機器好,資料庫比較小,幾分鍾就好了。

如何導出資料庫表的數據?(不同於備份哦)

#mysql

(#mysql>use linux;)#可有可無

#mysql>select * from linux.table-name into outfile "/home/table-name.txt";

#/home/table-name.txt 可能會報錯,如果這樣去掉/home直接"table-name.txt"

默認保存在/var/lib/mysql/table-name.txt

對mysql資料庫常用命令的一點補充;

幾個常用的mysql相關的管理命令
mysql 命令:基本文本的,顯示和使用的mysql資料庫。前面已經簡單的提過用法;比如登錄等。
mysqladmin 命令,用來創建和維護mysql資料庫的命令,前面已經簡單的提過;
isamchk 是用來修復、檢查和優化.ism後綴的資料庫文件;
mysqlmp 是用於備份資料庫,前面已經簡單的說明過;
myisamchk 用來修復.myi後綴的資料庫文件;

比如我們要檢查名為linux的資料庫.myi資料庫表是否存在問題,應該用下面的命令;

要把mysqld伺服器停下來
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然後執行
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是檢查所有的.myi文件,資料庫的目錄在/opt/mysql/var/linux/目錄中

如果有問題,應該用-r參數來修復
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

7]mysqlshow 命令:顯示用戶選擇的資料庫和表
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [資料庫名]

比如我要查看名為linux的資料庫;應該是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux

6. linux下mysql資料庫備份工具有哪些

命令行 mysqlmp
網頁phpmyadmin

7. 如何用java程序在linux中備份和還原mysql資料庫

將MySql中的資料庫導出到文件中 備份import java.io.*;import java.lang.*;public class BeiFen {public static void main(String[] args) {// 資料庫導出String user = "root"; // 資料庫帳號String password = "root"; // 登陸密碼String data...

熱點內容
s7200編程s7200 發布:2025-05-14 04:28:32 瀏覽:412
安卓定製版蘋果手機是什麼意思 發布:2025-05-14 04:26:27 瀏覽:378
如何搭建php環境虛擬伺服器免費 發布:2025-05-14 04:25:37 瀏覽:102
相冊加密怎麼看 發布:2025-05-14 04:24:53 瀏覽:572
怎麼壓縮郵件 發布:2025-05-14 04:16:51 瀏覽:497
雲伺服器搭建郵箱綁定郁悶 發布:2025-05-14 04:16:48 瀏覽:149
crc校驗c語言演算法 發布:2025-05-14 04:15:15 瀏覽:45
curl靜態編譯 發布:2025-05-14 04:09:52 瀏覽:160
壓縮久期 發布:2025-05-14 04:08:46 瀏覽:942
sql置疑 發布:2025-05-14 04:07:09 瀏覽:441