linux數(shù)據(jù)庫修復(fù)命令 linux數(shù)據(jù)庫重置密碼

關(guān)于LINUX最基本的一些命令?

Linux運(yùn)維人員必會的120個命令

成都創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。

跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhàn)

前言

第1章 Linux命令行簡介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令幫助 / 4

1.3Linux shutdown reboot halt / 9

關(guān)機(jī):

shutdown -h now

halt

init 0

第2章 文件和目錄操作命令 / 13

2.1pwd:顯示當(dāng)前所在的位置 / 13

2.2cd:切換目錄 / 16

2.3tree:以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18

2.4mkdir:創(chuàng)建目錄 / 22

2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 27

2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30

2.7cp:復(fù)制文件或目錄 / 39

2.8mv:移動或重命名文件 / 42

2.9rm:刪除文件或目錄 / 45

2.10rmdir:刪除空目錄 / 48

2.11ln:硬鏈接與軟鏈接 / 49

2.12readlink:查看符號鏈接文件的內(nèi)容 / 54

2.13find:查找目錄下的文件 / 55

2.14xargs:將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù) / 68

2.15rename:重命名文件 / 71

2.16basename:顯示文件名或目錄名 / 72

2.17dirname:顯示文件或目錄路徑 / 72

2.18chattr:改變文件的擴(kuò)展屬性 / 73

2.19lsattr:查看文件擴(kuò)展屬性 / 75

2.20file:顯示文件的類型 / 76

2.21md5sum:計算和校驗(yàn)文件的MD5值 / 77

2.22chown:改變文件或目錄的用戶和用戶組 / 80

2.23chmod:改變文件或目錄權(quán)限 / 81

2.24chgrp:更改文件用戶組 / 85

2.25umask:顯示或設(shè)置權(quán)限掩碼 / 86

2.26老男孩從新手成為技術(shù)大牛的心法 / 90

第3章 文件過濾及內(nèi)容編輯處理命令 / 91

3.1cat:合并文件或查看文件內(nèi)容 / 91

3.2tac:反向顯示文件內(nèi)容 / 103

3.3more:分頁顯示文件內(nèi)容 / 104

3.4less:分頁顯示文件內(nèi)容 / 107

3.5head:顯示文件內(nèi)容頭部 / 109

3.6tail:顯示文件內(nèi)容尾部 / 111

3.7tailf:跟蹤日志文件 / 114

3.8cut:從文本中提取一段文字并輸出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按兩個文件的相同字段合并 / 127

3.13uniq:去除重復(fù)行 / 129

3.14wc:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131

3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133

3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134

3.17diff:比較兩個文件的不同 / 135

3.18vimdiff:可視化比較工具 / 138

3.19rev:反向輸出文件內(nèi)容 / 139

3.20tr:替換或刪除字符 / 140

3.21od:按不同進(jìn)制顯示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:純文本編輯器 / 147

3.24老男孩逆襲思想:做Linux運(yùn)維的多個好處 / 152

第4章 文本處理三劍客 / 153

4.1grep:文本過濾工具 / 153

4.2sed:字符流編輯器 / 159

4.3awk基礎(chǔ)入門 / 165

第5章 Linux信息顯示與搜索文件命令 / 176

5.1uname:顯示系統(tǒng)信息 / 176

5.2hostname:顯示或設(shè)置系統(tǒng)的主機(jī)名 / 178

5.3dmesg:系統(tǒng)啟動異常診斷 / 179

5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181

5.5du:統(tǒng)計磁盤空間使用情況 / 183

5.6date:顯示與設(shè)置系統(tǒng)時間 / 186

5.7echo:顯示一行文本 / 190

5.8watch:監(jiān)視命令執(zhí)行情況 / 193

5.9which:顯示命令的全路徑 / 195

5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196

5.11locate:快速定位文件路徑 / 197

5.12updatedb:更新mlocate數(shù)據(jù)庫 / 199

5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200

第6章 文件備份與壓縮命令 / 201

6.1tar:打包備份 / 201

6.2gzip:壓縮或解壓文件 / 208

6.3zip:打包和壓縮文件 / 211

6.4unzip:解壓zip文件 / 212

6.5scp:遠(yuǎn)程文件復(fù)制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆襲思想:新手如何高效地提問 / 220

第7章 Linux用戶管理及用戶信息查詢命令 / 222

7.1 useradd:創(chuàng)建用戶 / 222

7.2usermod:修改用戶信息 / 227

7.3userdel:刪除用戶 / 229

7.4groupadd:創(chuàng)建新的用戶組 / 230

7.5groupdel:刪除用戶組 / 231

7.6passwd:修改用戶密碼 / 232

7.7chage:修改用戶密碼有效期 / 237

7.8chpasswd:批量更新用戶密碼 / 238

7.9su:切換用戶 / 240

7.10visudo:編輯sudoers文件 / 242

7.11sudo:以另一個用戶身份執(zhí)行命令 / 244

7.12id:顯示用戶與用戶組的信息 / 248

7.13w:顯示已登錄用戶信息 / 249

7.14who:顯示已登錄用戶信息 / 250

7.15users:顯示已登錄用戶 / 252

7.16whoami:顯示當(dāng)前登錄的用戶名 / 253

7.17last:顯示用戶登錄列表 / 253

7.18lastb:顯示用戶登錄失敗的記錄 / 254

7.19lastlog:顯示所有用戶的最近登錄記錄 / 255

第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257

8.1fdisk:磁盤分區(qū)工具 / 257

8.2partprobe:更新內(nèi)核的硬盤分區(qū)表信息 / 265

8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266

8.4parted:磁盤分區(qū)工具 / 268

8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272

8.6dumpe2fs:導(dǎo)出ext2/ext3/ext4文件系統(tǒng)信息 / 274

8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275

8.8fsck:檢查并修復(fù)Linux文件系統(tǒng) / 278

8.9dd:轉(zhuǎn)換或復(fù)制文件 / 281

8.10mount:掛載文件系統(tǒng) / 284

8.11umount:卸載文件系統(tǒng) / 288

8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289

8.13mkswap:創(chuàng)建交換分區(qū) / 293

8.14swapon:激活交換分區(qū) / 294

8.15swapoff:關(guān)閉交換分區(qū) / 295

8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296

第9章 Linux進(jìn)程管理命令 / 298

9.1ps:查看進(jìn)程 / 298

9.2pstree:顯示進(jìn)程狀態(tài)樹 / 305

9.3pgrep:查找匹配條件的進(jìn)程 / 306

9.4kill:終止進(jìn)程 / 307

9.5killall:通過進(jìn)程名終止進(jìn)程 / 310

9.6pkill:通過進(jìn)程名終止進(jìn)程 / 311

9.7top:實(shí)時顯示系統(tǒng)中各個進(jìn)程的資源占用狀況 / 313

9.8nice:調(diào)整程序運(yùn)行時的優(yōu)先級 / 320

9.9renice:調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級 / 323

9.10nohup:用戶退出系統(tǒng)進(jìn)程繼續(xù)工作 / 324

9.11strace:跟蹤進(jìn)程的系統(tǒng)調(diào)用 / 325

9.12ltrace:跟蹤進(jìn)程調(diào)用庫函數(shù) / 332

9.13runlevel:輸出當(dāng)前運(yùn)行級別 / 334

9.14init:初始化Linux進(jìn)程 / 335

9.15service:管理系統(tǒng)服務(wù) / 335

第10章 Linux網(wǎng)絡(luò)管理命令 / 338

10.1ifconfig:配置或顯示網(wǎng)絡(luò)接口信息 / 338

10.2ifup:激活網(wǎng)絡(luò)接口 / 343

ifup eth0

10.3ifdown:禁用網(wǎng)絡(luò)接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整個網(wǎng)絡(luò),所有網(wǎng)卡。

10.4route:顯示或管理路由表 / 344

10.5arp:管理系統(tǒng)的arp緩存 / 350

10.6ip:網(wǎng)絡(luò)配置工具 / 351

10.7netstat:查看網(wǎng)絡(luò)狀態(tài) / 358

10.8ss:查看網(wǎng)絡(luò)狀態(tài) / 362

10.9ping:測試主機(jī)之間網(wǎng)絡(luò)的連通性 / 363

10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366

10.11arping:發(fā)送arp請求 / 367

10.12telnet:遠(yuǎn)程登錄主機(jī) / 369

10.13nc:多功能網(wǎng)絡(luò)工具 / 370

10.14ssh:安全地遠(yuǎn)程登錄主機(jī) / 373

10.15wget:命令行下載工具 / 376

10.16mailq:顯示郵件傳輸隊(duì)列 / 379

10.17mail:發(fā)送和接收郵件 / 381

10.18nslookup:域名查詢工具 / 386

10.19dig:域名查詢工具 / 389

10.20host:域名查詢工具 / 393

10.21nmap:網(wǎng)絡(luò)探測工具和安全/端口掃描器 / 394

10.22tcpdump:監(jiān)聽網(wǎng)絡(luò)流量 / 398

第11章 Linux系統(tǒng)管理命令 / 407

11.1lsof:查看進(jìn)程打開的文件 / 407

11.2uptime:顯示系統(tǒng)的運(yùn)行時間及負(fù)載 / 411

11.3free:查看系統(tǒng)內(nèi)存信息 / 411

11.4iftop:動態(tài)顯示網(wǎng)絡(luò)接口流量信息 / 413

11.5vmstat:虛擬內(nèi)存統(tǒng)計 / 415

11.6mpstat:CPU信息統(tǒng)計 / 419

11.7iostat:I/O信息統(tǒng)計 / 420

11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423

11.9sar:收集系統(tǒng)信息 / 425

11.10chkconfig:管理開機(jī)服務(wù) / 430

11.11ntsysv:管理開機(jī)服務(wù) / 433

11.12 setup:系統(tǒng)管理工具 / 434

11.13ethtool:查詢網(wǎng)卡參數(shù) / 436

11.14mii-tool:管理網(wǎng)絡(luò)接口的狀態(tài) / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自動化RPM包管理工具 / 446

top命令

第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450

12.1Linux內(nèi)置命令概述 / 450

12.2Linux內(nèi)置命令簡介 / 450

12.3Linux常用內(nèi)置命令實(shí)例 / 452

從Linux備份DB2數(shù)據(jù)庫到AIX上怎么恢復(fù)?

DB2數(shù)據(jù)庫離線和在線全備、增量備份及恢復(fù)的具體操作步驟:

1、離線全備份

(1)、首先確保沒有用戶使用DB2:

$db2 list applications for db sample

(2)、停掉數(shù)據(jù)庫并重新啟動,以便斷掉所有連接:

db2stop force

db2start

(3)、執(zhí)行備份命令:(使用TSM作為備份的介質(zhì))

db2 backup db sample use tsm

備份成功,將會返回一個時間戳。

(4)、檢查備份成功:

Db2 list history backup all for sample ,可以看到多了這個備份的紀(jì)錄。

Db2adutl query命令也可以看到返回值。

(5)、備注:

首先對主節(jié)點(diǎn)(catalog表空間在的節(jié)點(diǎn))執(zhí)行備份命令,再對另外的節(jié)點(diǎn)也做這個操作。

2、 在線備份:

(1)、首先打開一下支持在線備份的數(shù)據(jù)庫配置參數(shù):

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都分別做設(shè)置)

開啟這些參數(shù)后,數(shù)據(jù)庫處于backup pending狀態(tài),要求做數(shù)據(jù)庫的離線全備份。做一下離線全備份,參考上面的命令。

(2)、在線備份命令如下:

db2 backup db sample online use tsm

備份成功,返回一個時間戳。

(3)、同樣可以用db2adutl 和db2 list history察看備份紀(jì)錄。

(4)、備注:

同樣,對每個節(jié)點(diǎn)都做這個操作。

3、 在線增量備份

(1)、在開啟了必須的三個參數(shù)的情況下,做增量備份:

db2 backup db sample online incremental use tsm

備份成功,返回一個時間戳。

(2)、同樣可以用db2adutl 和db2 list history察看備份紀(jì)錄。

(3)、還有一種delta的備份:

db2 backup db sample online

incremental delta use tsm

這兩種備份的區(qū)別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應(yīng)oracle的cumulative方式,而db2的delta方式則對應(yīng)oracle的incremental方式。

(4)、備注:同樣,對每個節(jié)點(diǎn)都做這個操作。

4、 恢復(fù)數(shù)據(jù)庫

(1)、手工drop數(shù)據(jù)庫,模擬災(zāi)難恢復(fù)的情況,執(zhí)行如下操作:

db2 drop db sample

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

db2 restore db sample history file use tsm

taken at 20030102223107 buffer 100

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

db2ckrst -d sample -t 20030101224424 -r database

命令返回建議的必需的恢復(fù)操作命令。

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

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

同樣先做主節(jié)點(diǎn)的恢復(fù),再做其他節(jié)點(diǎn)的恢復(fù)操作。

(5)、這時數(shù)據(jù)庫處于rollforward-pending state的狀態(tài),需要做roll forward 操作:

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

前滾到同一個時間點(diǎn)。這個操作要在主節(jié)點(diǎn)來做。

5、說明:

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

(2)、按照表空間的備份和恢復(fù)類似,加子句TABLESPACE ( tablespace-name 即可。表空間級別的備份/恢復(fù)操作要求數(shù)據(jù)庫處于歸檔日志和啟用增量備份模式下。

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

linux 備份的數(shù)據(jù)庫怎么恢復(fù)

一、 使用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ī)上是不安全的,所以應(yīng)當(dāng)把數(shù)據(jù)備份到局域網(wǎng)中其他Linux計算機(jī)中。假設(shè)Mysql服務(wù)器IP地址是:192.168.1.3。局域網(wǎng)使用Linux的遠(yuǎn)程計算機(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ī)需要在兩端都安裝NFS協(xié)議(Network File System),遠(yuǎn)程N(yùn)FS計算機(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ī)設(shè)定后,在MYSQL服務(wù)器/mnt 目錄下建立一個backup_share目錄:

#mkdir /mnt/backup_share

將遠(yuǎn)程的Linux計算機(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ī)的/usr/backups/mysql 目錄中。下面使用mysqldump把“phpbb_db_backup”備份到遠(yuǎn)程計算機(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.cnf 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í)行的原時間。

如何在linux下實(shí)現(xiàn)db2數(shù)據(jù)庫備份和恢復(fù)

通過如下備份腳本備份的數(shù)據(jù)庫進(jìn)行恢復(fù)

備份腳本:

.?/home/db2admin/sqllib/db2profile??

db2?backup?db?datedb?online?to?/dbbackup/date?include?logs??

cd?/dbbackup/datetoday=`date?+”%Y%m%d”`??

file1=”*$today*”??

ftpfile=`ls?$file1`??

echo?$ftpfile??

lftp?-c?“open?ftp地址;user?用戶名密碼@\$0;put?$ftpfile”??

find?/dbbackup/date?-ctime?+15?-exec?rm?{}?\;

恢復(fù)命令:

通過root命令登錄到服務(wù)器上后切換到數(shù)據(jù)庫用戶名下用su – db2admin命令。

進(jìn)入到備份文件存放目錄

執(zhí)行如下命令

$ db2 restore db datedb from /hom

網(wǎng)站題目:linux數(shù)據(jù)庫修復(fù)命令 linux數(shù)據(jù)庫重置密碼
本文地址:http://muchs.cn/article20/doeeojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、品牌網(wǎng)站設(shè)計、品牌網(wǎng)站制作做網(wǎng)站、移動網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站建設(shè)