在Linux3.0下安裝凱核DB2 v8.2,可以依照以下步驟來進(jìn)行。

成都創(chuàng)新互聯(lián),為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)墻體彩繪等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
1、創(chuàng)建用戶(useradd -u 600 -g db2iadm -d /db2home/db2inst1 -s /usr/bin/ksh db2inst1)和組(groupadd -g 200 db2iadm),
2、在/etc/sysctl.conf中增加如下條擾脊目:
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024
然后使用sysctl –p使上述設(shè)置生效。
3、進(jìn)入安裝程序所在的路徑,root用戶執(zhí)行db2_install,不要執(zhí)行setup,前者是全自動安裝,不用交互,簡單好用。
4、剩下的就是創(chuàng)建實(shí)例和數(shù)據(jù)庫了
創(chuàng)建實(shí)例和數(shù)據(jù)庫:
root用戶進(jìn)入db2的安裝目錄,應(yīng)該是opt/ibm/db2/v81/instance,執(zhí)行下面的語句
db2icrt -u db2inst1 db2inst1
使用root給db2inst1更改口令后,使緩孫滲用db2inst1用戶登錄,
執(zhí)行下面命令創(chuàng)建數(shù)據(jù)庫
db2 create database dbname on dbpath using codeset gbk territory cn
一、 使用mysql相關(guān)命令進(jìn)行簡單的本地備份
1 mysqlldump命令
mysqldump 是采用SQL級別的備份機(jī)制,它將數(shù)據(jù)表導(dǎo)成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。
使用 mysqldump進(jìn)行備份非常簡單,如果要備份數(shù)據(jù)庫” db_backup ”,使用命令:
#mysqldump –u -p phpbb_db_backup /usr/backups/mysql/db_backup2008-1-6.sql
還可以使用gzip命令對備份文件進(jìn)行壓縮:
#mysqldump db_backup | gzip /usr/backups/mysql/ db_backup2008-1-6.sql.gz (備份后生成的sql不含建庫語句!)
只備份一些頻繁更新的數(shù)據(jù)庫表:
## mysqldump sample_db articles comments links /usr/backups/mysql/sample_db.art_comm_lin.2008-1-6.sql
上面的命令會備份articles, comments, 和links 三個表。
恢復(fù)數(shù)據(jù)使用命令:
#mysql –u -p db_backup /usr/backups/mysql/ db_backup2008-1-6.sql
注意使用這個命令時必須保證數(shù)據(jù)庫正在運(yùn)行。
2 使用 SOURCE 語法
其實(shí)這不是標(biāo)準(zhǔn)的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
# SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,并且必須是 mysqld 運(yùn)行用戶(例如 nobody)有權(quán)限讀取的文件。
3 mysqlhotcopy備份
mysqlhotcopy 只能用于備份 MyISAM,并且只能運(yùn)行在 linux 和Unix 和 NetWare 系統(tǒng)上。mysqlhotcopy 支持一次性拷貝多個數(shù)據(jù)庫,同時還支持正則表達(dá)。以下是幾個例子:
#mysqlhotcopy -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把數(shù)據(jù)庫目錄 db_name 拷貝到 /tmp 下)
注意,想要使用 mysqlhotcopy,必須要有 SELECT、RELOAD(要執(zhí)行 FLUSH TABLES) 權(quán)限,并且還必須要能夠有讀取 datadir/db_name 目錄的顫絕含權(quán)限。
還原數(shù)據(jù)庫方法:
mysqlhotcopy 備份出來的是整個數(shù)據(jù)庫目錄,使用時可以直接拷貝到 mysqld 指定的 目錄 (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意權(quán)限的問題,另外首先應(yīng)當(dāng)刪除數(shù)據(jù)庫舊副本如下例:
# /bin/rm -rf /mysql-backup/**//*old
關(guān)閉mysql 服務(wù)器、復(fù)制文件、查詢啟動mysql服務(wù)器的三個步驟:
# /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 運(yùn)行用戶)
二、宏中使用網(wǎng)絡(luò)備份
將MYSQL數(shù)據(jù)放在一臺計(jì)算機(jī)上是不安全的,所以應(yīng)當(dāng)把數(shù)據(jù)備份到局域網(wǎng)中其他Linux計(jì)算機(jī)中。假設(shè)Mysql服務(wù)器IP地址是:192.168.1.3。局域網(wǎng)使用Linux的遠(yuǎn)程計(jì)算機(jī)IP地址是192.168.1.4;類似于windows的網(wǎng)絡(luò)共享,UNIX(Linux)系統(tǒng)也有自己的網(wǎng)絡(luò)共享,那就是NFS(網(wǎng)絡(luò)文件系統(tǒng)),在linux客戶端掛接(mount)NFS磁盤共享之前,必須先配置好NFS服務(wù)端。linux系統(tǒng)NFS服務(wù)端配置方法如下:
(1)修改 /etc/exports,增加共享目錄
/export/home/sunky 192.168.1.4(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目錄下的sunky、sunky1、sunky2是準(zhǔn)備共享的目錄,10.140.133.23、*、linux-client是被允許掛接此共享linux客戶機(jī)的IP地址或主機(jī)名。如果要使用主機(jī)名linux-client必須在服務(wù)端主機(jī)/etc/hosts文件里增加linux-client主機(jī)ip定義。格式如下:
192.168.1.4 linux-client
若修改/etc/export文件增加新的共享,應(yīng)先停止NFS服務(wù),再啟動NFS服務(wù)方能使新增加的共享起作用。使用命令exportfs -rv也可以達(dá)到同樣的效果。linux客戶端掛接(mount)其他linux系統(tǒng)或UNIX系統(tǒng)的NFS共享。這里我們假設(shè)192.168.1.4是NFS服務(wù)端的主機(jī)IP地址,當(dāng)然這里也可以使用主機(jī)名,但必須在本機(jī)/etc/hosts文件里增加服務(wù)端ip定義。/export/home/sunky為服務(wù)端共享的目錄。如此就可以在linux客戶端通過/mnt/nfs來訪問其它linux系統(tǒng)或UNIX系統(tǒng)以NFS方式共享出來的文件了。
把MYSQL數(shù)據(jù)備份到使用Linux的遠(yuǎn)程計(jì)算機(jī)需要在兩端都安裝NFS協(xié)議(Network File System),遠(yuǎn)程N(yùn)FS計(jì)算機(jī)安裝NFS協(xié)議后還要修改配置文件:/etc/exports,加入一行:
/usr/backups/mysql/ 192.168.1.4 (rw, no_root_squash)
表示將/usr/backups/mysql/目錄共享。這個目錄具有遠(yuǎn)程root用戶讀寫權(quán)限。保存NFS配置文件,然后使用命令:
#exportfs -a –r
然后重新啟動NFS服務(wù):
#service nfsd start
遠(yuǎn)程計(jì)算機(jī)設(shè)定后,在MYSQL服務(wù)器/mnt 目錄下建立一個backup_share目錄:
#mkdir /mnt/backup_share
將遠(yuǎn)程的Linux計(jì)算機(jī)的/usr/backups/mysql/目錄掛載到MYSQL服務(wù)器的/mnt/backup_share目錄下:
# mount -t nfs 192.168.1.4:/usr/backups/mysql /mnt/backup_share
將目錄掛載進(jìn)來后,只要進(jìn)入/mnt/backup_share 目錄,就等于到了IP地址:192.168.1.4那部NFS 計(jì)算機(jī)的/usr/backups/mysql 目錄中。下面使用mysqldump把“phpbb_db_backup”備份到遠(yuǎn)程計(jì)算機(jī):
# mysqldump db_backup /mnt/backup_share/ db_backup2008-1-6.sql
自動完成網(wǎng)絡(luò)備份的方法:
Linux 服務(wù)器上的程序每天都在更新 MySQL 數(shù)據(jù)庫,于是就想起寫一個 shell 腳本,結(jié)合 crontab,定時備份數(shù)據(jù)庫。建立一個shell腳本:sample_db_backup.sh
# At the very end the $(date +%F) 自動添加備份日期
mysqldump -u username -p password -h hostname sample_db /mnt/backup_share/sample_db.$(date +%F)
#un-mount the filesystem
umount /mnt/backup_share
# mount \u2013o soft 192.168.1.4:/archive /mnt/backup_share
說明:mount NFS服務(wù)器的一個重要參數(shù):hard (硬) mount或soft(軟)mount。
硬掛載: NFS客戶機(jī)會不斷的嘗試與NFS服務(wù)器的連接(在后臺,一般不會給出任何提示信息),直到掛載上為止。
軟掛載:會在前臺嘗試與NFS服務(wù)器的連接,是默認(rèn)的連接方式。當(dāng)收到錯誤信息后終止mount嘗試,并給出相關(guān)信息。
對于到底是使用硬掛載還是軟掛載的問題,這主要取決于你訪問什么信息有關(guān)。例如你是想察看NFS服務(wù)器的視頻文件時,你絕對不會希望由于一些意外的情況(如網(wǎng)絡(luò)速度一下子變的很慢)而使系統(tǒng)輸出大量的錯誤信息,如果此時你用的是硬掛載方式的話,系統(tǒng)就會等待,直到能夠重新與NFS 服務(wù)器建立連接傳輸信息。另外如果是非關(guān)鍵數(shù)據(jù)的話也可以使用軟掛載方式,如FTP一些數(shù)據(jù)等,這樣在遠(yuǎn)程機(jī)器暫時連接不上或關(guān)閉時就不會掛起你的會話過程。
下面建立腳本文件權(quán)限:chmod +x ./sample_db_backup.sh
然后使用將此腳本加到 /etc/crontab 定時任務(wù)中:
01 5 * * 0 mysql /home/mysql/ sample_db_backup.sh
好了,每周日凌晨 5:01 系統(tǒng)就會自動運(yùn)行 sample_db_backup.sh 文件通過網(wǎng)絡(luò)備份 MySQL 數(shù)據(jù)庫了。
三、實(shí)時恢復(fù)M y S Q L數(shù)據(jù)方法
在對MySQL數(shù)據(jù)和表格結(jié)構(gòu)進(jìn)行備份時,mysqldump是一個非常有用的工具。然而,通常情況下,一般一天只備份一次,或者在一個特定的間隔備份一次。如果在剛備份完成的一段時間以內(nèi)數(shù)據(jù)丟失,那么這些數(shù)據(jù)很有可能無法恢復(fù)。有什么方法可以對數(shù)據(jù)進(jìn)行實(shí)時性地保護(hù)呢?事實(shí)上,現(xiàn)在有幾種方法都可以實(shí)現(xiàn)MySQL數(shù)據(jù)庫的實(shí)時保護(hù)。這里介紹其中一種,即使用二進(jìn)制日志進(jìn)行數(shù)據(jù)恢復(fù)。
1 設(shè)置二進(jìn)制日志方法
要想從二進(jìn)制日志恢復(fù)數(shù)據(jù),你需要知道當(dāng)前二進(jìn)制日志文件的路徑和文件名。一般可以從選項(xiàng)文件(即my點(diǎn)吸煙 f or my.ini,取決于你的系統(tǒng))中找到路徑。如果未包含在選項(xiàng)文件中,當(dāng)服務(wù)器啟動時,可以在命令行中以選項(xiàng)的形式給出。啟用二進(jìn)制日志的選項(xiàng)為-- log-bin。要想確定當(dāng)前的二進(jìn)制日志文件的文件名,輸入下面的MySQL語句:
# SHOW BINLOG EVENTS \G
2 最簡單的數(shù)據(jù)恢復(fù)
每天備份和運(yùn)行二進(jìn)制日志的確是一個在MySQL服務(wù)器中恢復(fù)數(shù)據(jù)的不錯方法。比如,可以每天在深夜使用mysqldump對數(shù)據(jù)進(jìn)行備份,如果某天在數(shù)據(jù)備份完成后的一段時間里,由于某種原因數(shù)據(jù)丟失,可以使用以下方法來對其進(jìn)行恢復(fù)。首先,停止MySQL服務(wù)器,然后使用以下命令重新啟動MySQL服務(wù)器。該命令將保證是惟一可以訪問該數(shù)據(jù)庫服務(wù)器的人:
# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
# mysqld --socket=/tmp/mysql_restore.sock --skip-networking
這里, 一socket選項(xiàng)將為U n i x 系統(tǒng)命名一個不同的Socket文件。一旦服務(wù)器處于獨(dú)占控制之下,就可以放心地對數(shù)據(jù)庫進(jìn)行操作,而不用擔(dān)心在進(jìn)行數(shù)據(jù)恢復(fù)的過程中有用戶嘗試訪問數(shù)據(jù)庫而導(dǎo)致更多的麻煩。進(jìn)行恢復(fù)的第一個步驟是恢復(fù)晚上備份好的dump文件:
#mysql -u root -pmypwd --socket=/tmp/mysql_restore.sock /var/backup/20080120.sql
該命令可以將數(shù)據(jù)庫的內(nèi)容恢復(fù)至晚上剛剛完成備份的內(nèi)容。要恢復(fù)dump文件創(chuàng)建后的數(shù)據(jù)庫事務(wù)處理, 可以使用mysqlbinlog工具。如果每天晚上進(jìn)行備份操作時都對日志進(jìn)行flush操作,則可以使用以下命令行工具將整個二進(jìn)制日志文件進(jìn)行恢復(fù):
mysqlbinlog /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd --socket=/tmp/mysql_restore.sock
3 針對某一時問點(diǎn)的恢復(fù)
對于MySQL 4.1.4,可以在mysqlbinlog語句中通過--start-date和--stop-date選項(xiàng)指定DATETIME格式的起止時間。假設(shè)用戶在2008-1-22上午10點(diǎn)執(zhí)行的SQL語句刪除了一個大的數(shù)據(jù)表,則可以使用以下命令進(jìn)行恢復(fù):要想恢復(fù)表和數(shù)據(jù),你可以恢復(fù)前晚上的備份,并輸入:
#mysqlbinlog --stop-date="2008-1-22 9:59:59"
/var/log/mysql/bin.123456 |
mysql -u root -pmypwd \
--socket=/tmp/mysql_restore.sock
#mysql -u root -pmypwd
該語句將恢復(fù)所有給定一stop-date日期之前的數(shù)據(jù)。如果在執(zhí)行某SQL語句數(shù)小時之后才發(fā)現(xiàn)執(zhí)行了錯誤操作,那么可能還需要恢復(fù)之后輸入的一些數(shù)據(jù)。這時, 也可以通過mysqlbinlog來完成該功能:
#mysqlbinlog --start-date="2008-1-22 10:01:00" \
/var/log/mysql/bin.123456 \
| mysql -u root -pmypwd \
--socket=/tmp/mysql_restore.sock
#mysql -u root -pmypwd
在該行中,從上午10:01登錄的SQL語句將運(yùn)行。組合執(zhí)行前夜的轉(zhuǎn)儲文件和mysqlbinlog的兩行可以將所有數(shù)據(jù)恢復(fù)到上午10:00前一秒鐘。你應(yīng)檢查日志以確保時間確切。
4 使用Position進(jìn)行恢復(fù)
也可以不指定日期和時間,而使用mysqlbinlog的選項(xiàng)--start-position和--stop-position來指定日志位置。它們的作用與起止日選項(xiàng)相同,不同的是給出了從日志起的位置號。使用日志位置是更準(zhǔn)確的恢復(fù)方法,特別是當(dāng)由于破壞性SQL語句同時發(fā)生許多事務(wù)的時候。要想確定位置號,可以運(yùn)行mysqlbinlog尋找執(zhí)行了不期望的事務(wù)的時間范圍,但應(yīng)將結(jié)果重新指向文本文件以便進(jìn)行檢查。操作命令為:
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"
/var/log/mysql/bin.123456 /tmp/mysql_restore.sql
該命令將在/tmp目錄創(chuàng)建小的文本文件,將顯示執(zhí)行了錯誤的SQL語句時的SQL語句。你可以用vi或者gedit文本編輯器打開該文件,尋找你不要想重復(fù)的語句。如果二進(jìn)制日志中的位置號用于停止和繼續(xù)恢復(fù)操作,應(yīng)進(jìn)行注釋。用log_pos加一個數(shù)字來標(biāo)記位置。使用位置號恢復(fù)了以前的備份文件后,你應(yīng)從命令行輸入下面內(nèi)容:
mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456
| mysql -u root -pmypwd
mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456
| mysql -u root -pmypwd
上面的第1行將恢復(fù)到停止位置為止的所有事務(wù)。下一行將恢復(fù)從給定的起始位置直到二進(jìn)制日志結(jié)束的所有事務(wù)。因?yàn)閙ysqlbinlog的輸出包括每個SQL語句記錄之前的SET TIMESTAMP語句,恢復(fù)的數(shù)據(jù)和相關(guān)MySQL日志將反應(yīng)事務(wù)執(zhí)行的原時間。
網(wǎng)頁標(biāo)題:linux命令db linux命令打開文件
文章來源:http://chinadenli.net/article22/dsjsjjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、定制網(wǎng)站、網(wǎng)站制作、App開發(fā)、網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)