导航:首页 > 程序命令 > mysql备份命令和还原命令

mysql备份命令和还原命令

发布时间:2024-06-19 13:01:07

❶ 娴呰皥MySQL鏁版嵁搴揿囦唤镄勫嚑绉嶆柟娉



mysql甯歌佺殑澶囦唤鏂瑰纺链:mysqlmp銆乵ysqlhot銆丅ACKUP TABLE 銆丼ELECT
INTOOUTFILE锛屽张鎴栬呭囦唤浜岃繘鍒舵棩蹇楋纸binlog锛夛纴杩桦彲浠ユ槸鐩存帴𨰾疯礉鏁版嵁鏂囦欢鍜岀浉鍏崇殑閰岖疆鏂囦欢銆侻yISAM琛ㄦ槸淇濆瓨鎴愭枃浠剁殑褰㈠纺锛屽洜姝ょ浉瀵规瘆杈冨规槗澶囦唤锛屼笂闱㈡彁鍒扮殑鍑犵嶆柟娉曢兘鍙浠ヤ娇鐢ㄣ侷nnodb 镓链夌殑琛ㄩ兘淇濆瓨鍦ㄥ悓涓涓鏁版嵁鏂囦欢 ibdata1涓锛堜篃鍙鑳芥槸澶氢釜鏂囦欢锛屾垨钥呮槸镫绔嬬殑琛ㄧ┖闂存枃浠讹级锛岀浉瀵规潵璇存瘆杈冧笉濂藉囦唤锛屽厤璐圭殑鏂规埚彲浠ユ槸𨰾疯礉鏁版嵁鏂囦欢銆佸囦唤
binlog锛屾垨钥呯敤mysqlmp銆
1.mysqlmp澶囦唤
mysqlmp 鏄閲囩敤SQL绾у埆镄勫囦唤链哄埗锛屽畠灏嗘暟鎹琛ㄥ兼垚 SQL 鑴氭湰鏂囦欢锛屽湪涓嶅悓镄 MySQL 鐗堟湰涔嬮棿鍗囩骇镞剁浉瀵规瘆杈冨悎阃傦纴杩欎篃鏄链甯哥敤镄勫囦唤鏂规硶銆
绀轰緥:mysqlmp -uroot -p database table > /home/jobs/back.sql
mysqlmp涔熷彲锅氩为噺澶囦唤,mysqlmp鐩稿叧鍙傛暟缃戜笂杈冨,灏变笉鍦ㄦや竴涓璧樿堪浜
2.mysqlhot澶囦唤銆愬傛灉鏄浼佷笟鐗堢殑mysql鍙浠ョ敤mysqlbackup褰撶劧鏄瑕佹敹璐圭殑銆
mysqlhot 鏄涓涓 PERL 绋嫔簭銆傚畠浣跨敤 LOCK TABLES銆丗LUSH
TABLES 鍜 cp 鎴 scp
𨱒ュ揩阃熷囦唤鏁版嵁搴撱傚畠鏄澶囦唤鏁版嵁搴撴垨鍗曚釜琛ㄧ殑链蹇镄勯斿缎锛屼絾瀹冨彧鑳借繍琛屽湪鏁版嵁搴撴枃浠讹纸鍖呮嫭鏁版嵁琛ㄥ畾涔夋枃浠躲佹暟鎹鏂囦欢銆佺储寮曟枃浠讹级镓鍦ㄧ殑链哄櫒涓娿
mysqlhot 鍙鑳界敤浜庡囦唤 MyISAM锛屽苟涓斿彧鑳借繍琛屽湪 绫箓nix 鍜 NetWare 绯荤粺涓娿
mysqlhot 鏀鎸佷竴娆℃ф嫹璐濆氢釜鏁版嵁搴掳纴钖屾椂杩樻敮鎸佹e垯琛ㄨ揪銆
绀轰緥锛 root#/usr/local/mysql/bin/mysqlhot -h=localhost -u=root
-p=123456 database /tmp (鎶婃暟鎹搴撶洰褰 database 𨰾疯礉鍒 /tmp
涓)root#/usr/local/mysql/bin/mysqlhot -h=localhost -u=root -p=123456
db_name_1 ... db_name_n /tmproot#/usr/local/mysql/bin/mysqlhot
-h=localhost -u=root -p=123456 db_name./regex/
/tmp镟磋︾粏镄勪娇鐢ㄦ柟娉曡锋煡鐪嬫坠鍐岋纴鎴栬呰皟鐢ㄤ笅闱㈢殑锻戒护𨱒ユ煡鐪 mysqlhot 镄勫府锷╋细
perldoc /usr/local/mysql/bin/mysqlhot娉ㄦ剰锛屾兂瑕佷娇鐢 mysqlhot锛屽繀椤昏佹湁
SELECT銆丷ELOAD(瑕佹墽琛 FLUSH TABLES) 𨱒冮檺锛屽苟涓旇缮蹇呴’瑕佽兘澶熸湁璇诲彇 datadir/db_name 鐩褰旷殑𨱒冮檺銆
杩桦师mysqlhot 澶囦唤鍑烘潵镄勬槸鏁翠釜鏁版嵁搴撶洰褰曪纴浣跨敤镞跺彲浠ョ洿鎺ユ嫹璐濆埌 mysqld
鎸囧畾镄 datadir (鍦ㄨ繖閲屾槸 /usr/local/mysql/data/)鐩褰曚笅鍗冲彲锛屽悓镞惰佹敞镒忔潈闄愮殑闂棰桡纴濡备笅渚嬶细 root#cp
-rf db_name /usr/local/mysql/data/root#chown -R nobody:nobody
/usr/local/mysql/data/ (灏 db_name 鐩褰旷殑灞炰富鏀规垚 mysqld 杩愯岀敤鎴)
3.SQL 璇娉曞囦唤
3.1 澶囦唤BACKUP TABLE 璇娉曞叾瀹炲拰 mysqlhot
镄勫伐浣滃师鐞嗗樊涓嶅氾纴閮芥槸阌佽〃锛岀劧钖庢嫹璐濇暟鎹鏂囦欢銆傚畠鑳藉疄鐜板湪绾垮囦唤锛屼絾鏄鏁堟灉涓岖悊𨱍筹纴锲犳や笉鎺ㄨ崘浣跨敤銆傚畠鍙𨰾疯礉琛ㄧ粨鏋勬枃浠跺拰鏁版嵁鏂囦欢锛屼笉钖屾椂𨰾疯礉绱㈠紩鏂
浠讹纴锲犳ゆ仮澶嶆椂姣旇缉鎱銆备緥瀛愶细 BACK TABLE tbl_name TO 钬/tmp/db_name/钬;娉ㄦ剰锛屽繀椤昏佹湁 FILE
𨱒冮檺镓嶈兘镓ц屾湰SQL锛屽苟涓旂洰褰 /tmp/db_name/ 蹇呴’鑳借 mysqld 鐢ㄦ埛鍙鍐欙纴瀵煎嚭镄勬枃浠朵笉鑳借嗙洊宸茬粡瀛桦湪镄勬枃浠讹纴浠ラ伩鍏嶅畨鍏ㄩ梾棰樸
鎭㈠岖敤 BACKUP TABLE 鏂规硶澶囦唤鍑烘潵镄勬枃浠讹纴鍙浠ヨ繍琛 RESTORE TABLE 璇鍙ユ潵鎭㈠嶆暟鎹琛ㄣ备緥瀛愶细 RESTORE TABLE FROM 钬/tmp/db_name/钬;𨱒冮檺瑕佹眰绫似涓婇溃镓杩般
3.2 SELECT INTO OUTFILE 鍒欐槸鎶婃暟鎹瀵煎嚭𨱒ユ垚涓烘櫘阃氱殑鏂囨湰鏂囦欢锛屽彲浠ヨ嚜瀹氢箟瀛楁甸棿闅旂殑鏂瑰纺锛屾柟渚垮勭悊杩欎簺鏁版嵁銆备緥瀛愶细
SELECT INTO OUTFILE 钬/tmp/db_name/tbl_name.txt钬 FROM tbl_name;娉ㄦ剰锛屽繀椤昏佹湁
FILE 𨱒冮檺镓嶈兘镓ц屾湰SQL锛屽苟涓旀枃浠 /tmp/db_name/tbl_name.txt 蹇呴’鑳借 mysqld
鐢ㄦ埛鍙鍐欙纴瀵煎嚭镄勬枃浠朵笉鑳借嗙洊宸茬粡瀛桦湪镄勬枃浠讹纴浠ラ伩鍏嶅畨鍏ㄩ梾棰樸
鐢 SELECT INTO OUTFILE 鏂规硶澶囦唤鍑烘潵镄勬枃浠讹纴鍙浠ヨ繍琛 LOAD DATA INFILE 璇鍙ユ潵鎭㈠嶆暟鎹琛ㄣ备緥瀛愶细 LOAD
DATA INFILE 钬/tmp/db_name/tbl_name.txt钬 INTO TABLE
tbl_name;𨱒冮檺瑕佹眰绫似涓婇溃镓杩般傚掑叆鏁版嵁涔嫔墠锛屾暟鎹琛ㄨ佸凡缁忓瓨鍦ㄦ墠琛屻傚傛灉𨰾呭绩鏁版嵁浼氩彂鐢熼吨澶嶏纴鍙浠ュ炲姞 REPLACE
鍏抽敭瀛楁潵镟挎崲宸叉湁璁板綍鎴栬呯敤 IGNORE 鍏抽敭瀛楁潵蹇界暐浠栦滑銆
4.钖鐢ㄤ簩杩涘埗镞ュ织(binlog)
閲囩敤 binlog 镄勬柟娉旷浉瀵规潵璇存洿𨱔垫椿锛岀渷蹇幂渷锷涳纴钥屼笖杩桦彲浠ユ敮鎸佸为噺澶囦唤銆
钖鐢 binlog 镞跺繀椤昏侀吨钖 mysqld銆傞栧厛锛屽叧闂 mysqld锛屾墦寮 my.cnf锛屽姞鍏ヤ互涓嫔嚑琛岋细
server-id = 1
log-bin = binlog
log-bin-index = binlog.index
铹跺悗钖锷 mysqld 灏卞彲浠ヤ简銆傝繍琛岃繃绋嬩腑浼氢骇鐢 binlog.000001 浠ュ强 binlog.index锛屽墠闱㈢殑鏂囦欢鏄 mysqld
璁板綍镓链夊规暟鎹镄勬洿鏂版搷浣滐纴钖庨溃镄勬枃浠跺垯鏄镓链 binlog 镄勭储寮曪纴閮戒笉鑳借交鏄揿垹闄ゃ傚叧浜 binlog 镄勪俊鎭璇锋煡鐪嬫坠鍐屻
闇瑕佸囦唤镞讹纴鍙浠ュ厛镓ц屼竴涓 SQL 璇鍙ワ纴璁 mysqld 缁堟㈠瑰綋鍓 binlog
镄勫啓鍏ワ纴灏卞彲浠ユ妸鏂囦欢鐩存帴澶囦唤锛岃繖镙风殑璇濆氨鑳借揪鍒板为噺澶囦唤镄勭洰镄勪简锛 FLUSH LOGS;濡傛灉鏄澶囦唤澶嶅埗绯荤粺涓镄勪粠链嶅姟鍣锛岃缮搴旇ュ囦唤
master.info 鍜 relay-log.info 鏂囦欢銆
澶囦唤鍑烘潵镄 binlog 鏂囦欢鍙浠ョ敤 MySQL 鎻愪緵镄勫伐鍏 mysqlbinlog 𨱒ユ煡鐪嬶纴濡傦细
/usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001璇ュ伐鍏峰厑璁镐綘鏄剧ず鎸囧畾镄勬暟鎹搴扑笅镄勬墍链
SQL 璇鍙ワ纴骞朵笖杩桦彲浠ラ檺瀹氭椂闂磋寖锲达纴鐩稿綋镄勬柟渚匡纴璇︾粏镄勮锋煡鐪嬫坠鍐屻
鎭㈠嶆椂锛屽彲浠ラ噰鐢ㄧ被似浠ヤ笅璇鍙ユ潵锅氩埌锛 /usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001
| mysql -uyejr -pyejr db_name鎶 mysqlbinlog 杈揿嚭镄 SQL 璇鍙ョ洿鎺ヤ綔涓鸿緭鍏ユ潵镓ц屽畠銆
濡傛灉浣犳湁绌洪棽镄勬満鍣锛屼笉濡ㄩ噰鐢ㄨ繖绉嶆柟寮忔潵澶囦唤銆傜敱浜庝綔涓 slave 镄勬満鍣ㄦц兘瑕佹眰鐩稿逛笉鏄闾d箞楂桡纴锲犳ゆ垚链浣庯纴鐢ㄤ绠鎴愭湰灏辫兘瀹炵幇澧为噺澶囦唤钥屼笖杩樿兘鍒嗘媴涓閮ㄥ垎鏁版嵁镆ヨ㈠帇锷涳纴浣曚箰钥屼笉涓哄憿锛

鍏蜂綋鏂规堬细

涓銆佷富浠庡悓姝

鍙浠ュ弬钥僪ttp://kerry.blog.51cto.com/172631/110206

浜屻佸为噺澶囦唤锛

姣忓ぉ涓鍗12镣瑰拰鏅氢笂12镣瑰仛涓娆″叏澶囷纴姣忛殧涓灏忔椂澶囦唤binlog,涔熷氨鏄澧为噺澶囦唤锛屽叿浣撴搷浣滃备笅锛

Linux涓嫔紑钖痓inlog

/etc/my.cnf涓镄刴ysqld閮ㄥ垎锷犲叆:

[mysqld]

log-bin=../logs/mysql-bin

max-binlog-size=50M



windows涓嫔紑钖痓inlog

%mysql%/my.ini涓镄刴ysqld閮ㄥ垎锷犲叆:

[mysqld]

log-bin =../logs/mysql-bin

max-binlog-size=50M



瀹屾暣澶囦唤鑴氭湰 锛堜粎鎻愪緵閮ㄥ垎浣滃弬钥冿级

濡傛灉鏁版嵁搴撴暟鎹閲忔瘆杈冨ぇ锛屽彲浠ヤ竴澶╁叏澶囦竴娆, 鍐嶆疮闅斾竴灏忔椂澧为噺澶囦唤涓娆★绂

#!/bin/sh

# mysql data backup script #

# use mysqlmp --help,get more detail.

BakDir=/backup/mysql

LogFile=/backup/mysql/mysqlbak.log

DATE=`date +%Y%m%d`

echo " " >> $LogFile

echo " " >> $LogFile

echo "-------------------------------------------" >> $LogFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile

echo "--------------------------" >> $LogFile

cd $BakDir

DumpFile=$DATE.sql

GZDumpFile=$DATE.sql.tgz

mysqlmp --quick --all-databases --flush-logs

--delete-master-logs --lock-all-tables

> $DumpFile

echo "Dump Done" >> $LogFile

tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1

echo "[$GZDumpFile]Backup Success!" >> $LogFile

rm -f $DumpFile

#delete previous daily backup files:閲囩敤澧为噺澶囦唤镄勬枃浠,濡傛灉瀹屾暣澶囦唤钖,鍒椤垹闄ゅ为噺澶囦唤镄勬枃浠.

cd $BakDir/daily

rm -f *

cd $BakDir

echo "Backup Done!"

echo "please Check $BakDir Directory!"

echo " it to your local disk or ftp to somewhere !!!"

ls -al $BakDir

涓婇溃镄勮剼链鎶妋ysql澶囦唤鍒版湰鍦扮殑/backup/mysql鐩褰,澧为噺澶囦唤镄勬枃浠舵斁鍦/backup/mysql/daily鐩褰曚笅.

澧为噺澶囦唤

澧为噺澶囦唤镄勬暟鎹閲忔瘆杈冨皬,浣嗘槸瑕佸湪瀹屾暣澶囦唤镄勫熀纭涓婃搷浣

澧为噺澶囦唤浣跨敤bin log,鑴氭湰濡备笅:

#!/bin/sh

# mysql binlog backup script

/usr/bin/mysqladmin flush-logs

DATADIR=/var/lib/mysql

BAKDIR=/backup/mysql/daily

###濡傛灉浣犲仛浜嗙壒娈婅剧疆,璇蜂慨鏀规ゅ勬垨钥呬慨鏀瑰簲鐢ㄦゅ彉閲忕殑琛:缂虹渷鍙栨満鍣ㄥ悕,mysql缂虹渷涔熸槸鍙栨満鍣ㄥ悕

HOSTNAME=`uname -n`

cd $DATADIR

FILELIST=`cat $HOSTNAME-bin.index`

##璁$畻琛屾暟,涔熷氨鏄鏂囦欢鏁

COUNTER=0

for file in $FILELIST

do

COUNTER=`expr $COUNTER + 1 `

done

NextNum=0

for file in $FILELIST

do

base=`basename $file`

NextNum=`expr $NextNum + 1`

if [ $NextNum -eq $COUNTER ]

then

echo "skip lastest"

else

dest=$BAKDIR/$base

if(test -e $dest)

then

echo "skip exist $base"

else

echo "ing $base"

cp $base $BAKDIR

fi

fi

done



echo "backup mysql binlog ok"

澧为噺澶囦唤鑴氭湰鏄澶囦唤鍓峟lush-logs,mysql浼氲嚜锷ㄦ妸鍐呭瓨涓镄勬棩蹇楁斁鍒版枃浠堕噷,铹跺悗鐢熸垚涓涓鏂扮殑镞ュ织鏂囦欢,镓浠ユ垜浠鍙闇瑕佸囦唤鍓嶉溃镄勫嚑涓鍗冲彲,涔熷氨鏄涓嶅囦唤链钖庝竴涓.

锲犱负浠庝笂娆″囦唤鍒版湰娆″囦唤涔熷彲鑳戒细链夊氢釜镞ュ织鏂囦欢鐢熸垚,镓浠ヨ佹娴嬫枃浠,濡傛灉宸茬粡澶囦唤杩,灏变笉鐢ㄥ囦唤浜.

鏁版嵁杩桦师锛

鍏堣缮铡熸渶杩戠殑瀹屽叏澶囦唤鏁版嵁锛

mysql -hhostname -uusername -ppassword databasename < backupfile.sql



鍐嶈缮铡焍inlog 锛

./mysqlbinlog --start-date="2016-04-10 17:30:05" --stop-date="2016-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 |mysql -u root -p123456



5.𨰾疯礉鏂囦欢
鐩存帴澶囦唤鏁版嵁鏂囦欢鐩歌缉鍓嶅嚑绉嶆柟娉曪纴澶囦唤鏁版嵁鏂囦欢链涓虹洿鎺ャ佸揩阃熴佹柟渚匡纴缂虹偣鏄锘烘湰涓娄笉鑳藉疄鐜板为噺澶囦唤銆
涓轰简淇濊瘉鏁版嵁镄勪竴镊存э纴闇瑕佸湪闱犺儗鏂囦欢鍓嶏纴镓ц屼互涓 SQL 璇鍙ワ细 FLUSH TABLES WITH READ
LOCK;涔熷氨鏄鎶婂唴瀛树腑镄勬暟鎹閮藉埛鏂板埌纾佺洏涓锛屽悓镞堕挛瀹氭暟鎹琛锛屼互淇濊瘉𨰾疯礉杩囩▼涓涓崭细链夋柊镄勬暟鎹鍐椤叆銆傝繖绉嶆柟娉曞囦唤鍑烘潵镄勬暟鎹鎭㈠崭篃寰堢亩鍗曪纴鐩存帴𨰾疯礉锲
铡熸潵镄勬暟鎹搴撶洰褰曚笅鍗冲彲銆
娉ㄦ剰锛屽逛簬 Innodb 绫诲瀷琛ㄦ潵璇达纴杩橀渶瑕佸囦唤鍏舵棩蹇楁枃浠讹纴鍗 ib_logfile* 鏂囦欢銆傚洜涓哄綋 Innodb 琛ㄦ崯鍧忔椂锛屽氨鍙浠ヤ緷闱犺繖浜涙棩蹇楁枃浠舵潵鎭㈠嶃
6.鍒╃敤rsync澶囦唤
rsync浣滀负钖屾ュ伐鍏蜂篃鍙浠ョ敤𨱒ュ仛澶囦唤,浣呜侀厤缃链嶅姟鍣ㄧ鍜屽㈡埛绔
绀轰緥rsync -vzrtopg --progress --delete [email protected]::root /tmp/
鐩稿叧rsync閰岖疆鍙鍙傝僪ttp://fanqiang.chinaunix.net/a6/b7/20010908/1305001258.html
缂虹偣鏄痳sync鏄镙规嵁鏂囦欢淇鏀规椂闂村仛镄勫为噺澶囦唤,镓浠ュ囦唤鏁版嵁搴挞兘鏄鍏ㄥ,骞朵笖閰岖疆姣旇缉楹荤储.





7.鍒╃敤BigDump宸ュ叿瀵煎叆瓒呭ぇMySQL鏁版嵁搴揿囦唤鏂囦欢

甯哥敤镄 MySQL 鏁版嵁搴撴仮澶嶅伐鍏凤纸涔熻兘杩涜屽囦唤镎崭綔锛夋槸 phpMyAdmin锛岃繖鏄涓涓寮婧愩佸厤璐圭殑宸ュ叿锛屽ぇ澶氭暟涓绘満鍟嗭纸渚嫔 Hawkhost锛夐兘浼氩厤璐规彁渚 銆傜浉淇″緢澶氱珯闀夸篃鐢ㄨ繃 phpMyAdmin 𨱒ヨ繘琛岀绣绔欐暟鎹搴撶殑澶囦唤鍜屾仮澶嶏纴纭瀹炲緢鏂逛究锛屽苟涓旀湁澶氩浗璇瑷鐣岄溃銆备笉杩囷纴链変竴绉嶆儏鍐靛彲鑳戒綘杩樻病纰板埌锛屽氨鏄褰扑綘镄勬暟鎹搴扑綋绉姣旇缉澶ф椂锛屼緥濡
SQL 澶囦唤鏂囦欢澶т簬 2MB锛岀敋镊冲ぇ浜 10MB锛岃繖涓镞跺椤傛灉浣犻氲繃 phpMyAdmin 𨱒ヨ繘琛屾暟鎹搴撶殑鎭㈠嶏纴灏变细鍑洪敊锛屾樉绀哄备笅镄勬彁绀猴细



杩欐槸锲犱负浣犵殑 SQL 鏂囦欢浣撶Н澶澶э纴瓒呰繃浜 phpMyAdmin 镄勫勭悊鑳藉姏锛岃繖绉嶆儏鍐靛湪缃戠粶阃熷害姣旇缉鎱㈢殑𨱍呭喌涓嫔挨涓虹獊鍑猴纴渚嫔傜珯闀垮湪锻ㄦ汤鏅氢笂8镣硅繖涓缃戠粶𨰾ユ寻镄勬椂娈靛皾璇曚娇鐢 phpMyAdmin 𨱒ユ仮澶嶅ぇ鍨 MySQL 鏁版嵁搴揿囦唤锛屽氨瀹规槗阆囧埌杩欑嶉梾棰樸

寰堟樉铹 phpMyAdmin 鍙阃傜敤浜庢仮澶嶆瘆杈冨皬镄 SQL 鏂囦欢澶囦唤銆傚逛簬瓒呭ぇ MySQL 鏁版嵁搴揿囦唤镄勬仮澶嶏纴浣犲繀椤绘崲涓涓涓撶敤镄勬仮澶嶅伐鍏凤纴闾e氨鏄锛欱igDump锛佸伐鍏蜂笅杞藉湴鍧http://www.jb51.net/codes/37147.html







8.浣跨敤bacula(www.bacula.org)杩涜屽囦唤
zZ

bacula閲囩敤妯″潡鍖栬捐★纴閲囩敤c/s鏋勬灦锛岀悊璁轰笂鍙浠ユ妸浠绘剰n鍙颁富链虹殑璧勬枡澶囦唤鍒颁换镒弉鍙
涓锛岃屼綘涓嶉渶瑕佸湪姣忓彴链哄櫒涓婇兘鍐欎竴涓閰岖疆鏂囦欢鎺у埗浠栦滑杩愪綔锛屾墍链変富瑕佺殑宸ヤ綔閮藉湪涓
鍙癫irector涓婃带鍒躲傜橱闄嗕笂director浣犲氨鍙浠ョ煡阆扑粈涔埚囦唤姝e湪杩愯岋纴浠涔埚囦唤鎴愬姛浜
锛屼粈涔埚囦唤澶辫触浜嗭纴镓链夌殑log涔熶细闆嗕腑鍒颁綘鎸囧畾镄勫湴鏂癸纴璁╃$悊宸ヤ綔镟寸亩鍗曚竴镣广傛仮澶
镄勬椂鍊欎篃寰堢亩鍗曪纴绠鍗曡繍琛屽嚑涓锻戒护浣犲氨鍙浠ユ妸鎸囧畾镄勫囦唤鎭㈠嶃傛敮鎸佸畬鍏ㄥ囦唤锛屽樊寮
澶囦唤锛屽为噺澶囦唤锛涙敮鎸佹妸澶囦唤鍐椤埌纭鐩樻枃浠朵腑锛屼篃鏀鎸佸啓鍒扮佸甫涓銆傛敮鎸佸钩鍙扮浉褰揿氾纴
璁剧疆鍖呮嫭win骞冲彴锛埚囦唤win锛岃缮涓嶆敮鎸佸囦唤鍒皐in锛夈傚綋铹朵篃链変竴浜涚己镣癸纴姣斿傚瑰苟鍙戝
浠芥敮鎸佹湭缁忓交搴曟祴璇曪纴浣滆呭gО链濂戒笉瑕佸皾璇曪纴闄ら潪浣犺嚜宸辩粡杩囨祴璇曘傝缮链変竴镣瑰氨鏄鏂
妗d腑娌℃湁涓涓犹uick start銆伞傛枃妗eお璇︾粏浜嗙偣锛屾病链夌偣钥愬绩璇讳笉瀹屻伞
1,鍓嶆湡鍑嗗
bacula链変笁涓妯″潡缁勬垚銆备竴涓鏄疍irector锛岀敤浜庢寚鎸ユ暣涓绯荤粺杩愯岋纴job schele,阃氱煡
鍙﹀栦袱涓妯″潡宸ヤ綔銆备竴涓鏄疭torage Daemon锛屽畠鏄瀛桦偍绔锛岃礋璐f妸缃戠粶涓浼犳潵镄勬暟鎹澶
浠藉埌链链,鎭㈠岖殑镞跺栾礋璐f妸鏁版嵁浼犲嚭铡汇傛渶钖庝竴涓鏄疐ile Daemon锛屽囦唤镞舵妸鏂囦欢浼犲嚭
锛屾仮澶嶆椂鎺ュ弹鏁版嵁骞舵仮澶嶃傚叾瀹炰笂闱㈢殑涓変釜妯″潡骞朵笉鑳借゜acula杩愯岋纴鍙﹀栦竴涓妯″潡鏄
鏁版嵁搴撴ā鍧椼傝繖涓妯″潡鍙浠ラ氲繃SQLite锛堢紪璇戣繘bacula锛夛纴涔熷彲浠ヤ娇鐢∕ySql鍜孭ostgreS
ql,浣滆呮帹钻愮殑鏄痬ysql銆傝缮闇瑕佷竴浜涚涓夋柟搴撴墠鑳界紪璇戯细GZIP鍜孯eadline銆傛枃妗d腑娌℃湁
璇存槑锛屼絾鍏跺疄杩橀渶瑕佸彟澶栦竴涓杞浠舵墠鑳戒缭璇佹e父杩愯岋细ntp銆傚洜涓哄樊寮傚囦唤鍜屽为噺澶囦唤閮
渚濊禆浜庢枃浠朵慨鏀规椂闂存潵鍐冲畾鏄钖﹀囦唤銆傚崟链哄囦唤闂棰树笉澶э纴缃戠粶澶囦唤灏遍渶瑕佽冭槛钖勪釜涓
链虹殑镞堕棿宸寮备简銆傛墍浠ユ垜鎺ㄨ崘镓链変富链烘疮澶╄繍琛屼袱娆ntpdate𨱒ヨ皟鍑嗘椂闂淬傚傛灉浣犲湪sjtu
缃戠粶閲岄溃锛屽彲浠ヤ娇鐢╠ns.sjtu.e.cn𨱒ヨ皟镙℃椂闂淬
濡傛灉浣犱娇鐢ㄧ殑鏄纾佸甫链哄囦唤锛岃缮闇瑕佹镆ヤ竴涓嬩綘镄勭佸甫链烘槸钖﹁鏀鎸併傝屼笖链濂藉幓阒呰
鏂囨。涓镄刄nderstanding Pools, Volumes and Labels涓鑺伞傚惁鍒欓厤缃镄勬椂鍊欎綘浼氭闷寰楁檿
涔庝箮镄勚
2锛岀紪璇
缂栬疟杩囩▼寰堢亩鍗曪纴鏂囨。涔熷緢璇︾粏锛屽氨涓嶅叿浣扑粙缁崭简銆傛敞镒忎竴镣规槸琚澶囦唤链哄櫒涓婂彲浠ヤ娇鐢-
-enable-client-only缂栬疟銆
3锛屾暟鎹搴揿缓绔
涓嬮溃璇磋磎ysql镄勫缓绔嬭繃绋嬨傞栧厛鍦ㄤ唬镰佹牴鐩褰曚腑
cd src/cats/
./grant_mysql_privileges
./create_mysql_database
./make_mysql_tables
濡傛灉mysql涓嶆槸鍦ㄦ湰链轰笂锛屽彲浠ュ炲姞-h鍙傛暟鎸囧畾銆傞粯璁ら噰鐢ㄧ┖瀵嗙爜镄剅oot鐢ㄦ埛锛屽彲浠ョ敤-p
鍙傛暟浣垮叾閲囩敤瀵嗙爜楠岃瘉銆傚傛灉瑕侀噰鐢ㄥ叾瀹幂敤鎴峰氨鍙鑳戒慨鏀硅剼链浜嗭纴寰堢亩鍗旷殑銆
榛樿ゅ缓绔嬬殑bacula鐢ㄦ埛锛岃屼笖鏄绌哄瘑镰併傛帹钻愯缮鏄淇鏀瑰瘑镰併
bacula鍙浠ヤ娇鐢ㄤ换镒忓氱殑鏁版嵁搴掳纴涔熷氨鏄璇翠綘鍙浠ヤ娇鐢ㄤ袱涓鏁版嵁搴掳纴铹跺悗鍐嶈╄繖涓や釜鏁
鎹搴扑簰鐩稿囦唤銆
4锛岃繍琛孎ile Daemon(fd)
閰岖疆鍓嶅厛璇存槑涓镣归渶瑕佹敞镒忕殑,閰岖疆涓鎸囧畾涓绘満鍦板潃镞讹纴链濂戒娇鐢╥p锛屾垜閰岖疆镞朵娇鐢ㄤ富链
钖嶈矊似涓嶅彲浠ャ伞傝屼笖瑕佹槸瀵瑰栫殑ip锛岀敤127.0.0.1涓嶈
fd杩愯屽湪琚澶囦唤涓绘満涓娿傞厤缃鐩稿綋绠鍗曪纴鎸囧畾鍝涓狣irector鍙浠ヨ繍琛岃皟搴﹀畠锛屽瘑镰佹槸浠
涔堬纴fd镄勫悕瀛楋纴宸ヤ綔鐩褰曪纴log寰鍝閲屽彂灏卞彲浠ヤ简銆备慨鏀逛慨鏀规爣閰嶅氨鍙浠ヤ简銆
5锛岃繍琛孲torage Daemon(sd)
sd杩愯屽湪鎺ュ弹澶囦唤镄勬満鍣ㄤ笂銆傞厤缃涔熺浉褰撶亩鍗曪纴鍙鏄姣撵d澶氩嚭浜嗕竴涓猟evice鐢ㄤ簬鎸囧畾浣
鐢ㄤ粈涔堢‖浠跺囦唤鏁版嵁銆傚彲浠ユ妸澶氢釜鏁版嵁澶囦唤鍒颁竴涓猟evice锛屽傛灉鏄纾佸甫链哄囦唤bacula鍦
鎭㈠岖殑镞跺欎细锻婅瘔浣犺佷娇鐢ㄥ摢涓纾佸甫銆傚洜涓烘垜浣跨敤镄勬槸鏂囦欢澶囦唤镄勬ā寮忥纴镓浠ュ氨缁欐疮涓
澶囦唤閰岖疆涓涓猟evice锛屾妸涓嶅悓镄勫囦唤鏀惧埌涓嶅悓鐩褰曞幓锛屼笅闱㈡槸涓涓绠鍗曟枃浠跺囦唤device
閰岖疆
Device {
Name = dbdev
Media Type = File #杩欎釜闅忎究鍐欙纴浣嗘槸鍦ㄩ厤缃瓺irector涓镄凷torage镞讹纴蹇呴’鍐欎竴
镙风殑
Archive Device = /var/bak/db#澶囦唤鍒板摢涓鐩褰曪纴蹇呴’瀛桦湪
LabelMedia = yes; # 镊锷╨abel
Random Access = Yes;
AutomaticMount = yes;

❷ mysql中备份和还原数据库的语句什么啊

一、Mysql数据库备份指令格式:
mysqlmp -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql
注:直接cmd执行该指令即可,不需要先mysql -u root -p链接数据库
1、备份MySQL数据库的命令
mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql
2、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql
二、数据库还原有三种方式:source命令、mysql、gunzip命令
1、source 命令
进入mysql数据库控制台,
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/work/db/bkdb.sql
2、mysql
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
3、gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

❸ 怎么还原,恢复或导入MySQL数据库

1、source命令

1)打开开始菜单->程序->MySQL->MySQL Command Line Client,输入MySQL的root密码。

2)然后输入use 数据库名;进入对应的数据库,再用source 备份文件具体路径;命令导入备份文件。注意,在这里的命令后面都要加;分号,截图如下:

2、mysql命令

1)如果是Windows系统,请在命令行模式下进入mysql的bin目录,如D:Programmysql41in。如果是Linux系统,请直接看下面的步骤。

2)执行mysql命令导入数据库,命令格式为:

mysql -u用户名 -p密码 数据库名<备份文件具体路径

比如:mysql -uroot -pabc123 mydb<file.sql,其中用户名和密码也可以是具体数据库的,不一定要root的。

二、数据库的导出(备份)

一般使用mysqlmp命令

1)如果是Windows系统,请在命令行模式下进入mysql的bin目录,如D:Programmysql41in。如果是Linux系统,请直接看下面的步骤。

2)执行mysqlmp命令导入数据库,命令格式为:

mysqlmp -u用户名 -p密码 数据库名>备份文件具体路径

❹ MySQL数据库备份和还原的常用命令

1.备份MySQL数据库的命令

mysqlmp-hhostname-uusername-ppassworddatabasename>backupfile.sql

2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqlmp-_add-drop-table-uusername-ppassworddatabasename>backupfile.sql

3.直接将MySQL数据库压缩备份

mysqlmp-hhostname-uusername-ppassworddatabasename|gzip>backupfile.sql.gz

4.备份MySQL数据库某个(些)表

mysqlmp-hhostname-uusername-ppassworddatabasenamespecific_table1specific_table2>backupfile.sql

5.同时备份多个MySQL数据库

mysqlmp-hhostname-uusername-ppassword_>multibackupfile.sql

6.仅仅备份灶此数据库结构

mysqlmp_no-data_>structurebackupfile.sql

7.备份服务器上所有数据库

mysqlmp_all-databases>allbackupfile.sql

8.还原MySQL数据库的命令

mysql-hhostname-uusername-ppassworddatabasename<backupfile.sql

9.还隐碰迅原压缩的MySQL数据库

gunzip<backupfile.sql.gz|mysql-uusername-ppassworddatabasename

10.将数据库转移到新服吵缺务器

mysqlmp-uusername-ppassworddatabasename|mysql_host=*.*.*.*-Cdatabasename

❺ 怎么备份和还原mysql数据库

备份数据库

使用mysqlmp命令备份数据库

❻ MySQL的备份与还原,非常规备份,全量备份,增量备份

1:官方百万级别的测试数据库:

官方测试数据库github网址:https://github.com/datacharmer/test_db

下载到目录,解压即可,运行命令:

2:自己创建简单测试数据库:

快速随机生成测试语言的网站:https://generatedata.com/

选择sql和想生成的字段,点击生成Generate!生成即可。

在MySQL输入生成的语句即可。

3:测试备份还原时用到的命令

删库跑路测试(先备份好)

还原后查询库的表数据是否完整。

采用复制整个数据存放目录

1:查看数据库数据存放位置

有两种方法:

1):在数据库中用命令 show variables like 'datadir' 查看

2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置

Linux中查看配置文件


2:复制目录或者目录下某个数据库名

3:还原时直接复制文件夹到数据库目录即可


mysqlmp又可叫做全量备份。

参数 --databases 同 -B ,单独一个库,也可省略。

1、备份命令mysqlmp格式

格式:mysqlmp -h主机名 -P端口 -u用户名 -p密码 database 数据库名 > 文件名.sql

备份testDatabase数据库

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

3、直接将MySQL数据库压缩备份

备份并压缩

4、备份MySQL数据库某个(些)表

备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B

5、同时备份多个MySQL数据库

同时备份testDatabase和 employees两个库

6、备份服务器上所有数据库

参数 --all-databases 同 -A

7、还原MySQL数据库的命令

1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。

2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。

3) 还原压缩的MySQL数据库

4) 进入数据库用source导入

增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。

1:查看是否开启bin-log日志

进入mysql输入命令可查看。

显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未开启,需要在配置文件种配置


2:查看目前使用的bin-log日志文件

进入mysql查看命令。

显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。

查看当前testDatabase的表myTable数据如下,

3:刷新日志,使用新的日志文件(备份)

在命令端执行命令

日志文件从 binlog.000022 变为 binlog.000023

这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。

4:删除数量,从日志还原数据

1) 删除ABC行

查询以及没有ABC行列。

2) 恢复数据ABC行

退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。

进入数据库再次查看数据,ABC已经恢复。

增量备份完成。

❼ 如何进行数据库备份和恢复 mysql

MySQL备份和还原,都是利用mysqlmp、mysql和source命令来完成的。
1.Win32下MySQL的备份与还原
1.1 备份
开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqlmp -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqlmp -u root -p voice>voice.sql,然后输入密码即可开始导出。

1.2 还原
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2.Linux下MySQL的备份与还原
2.1 备份
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqlmp -u root -p voice>voice.sql,输入密码即可。
2.2 还原
法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

阅读全文

与mysql备份命令和还原命令相关的资料

热点内容
ps处理pdf 浏览:719
服务器c1什么意思 浏览:220
哈尔滨手机什么app拍违章有奖励 浏览:477
盗贼用什么app最好 浏览:902
51单片机如何测量电导率 浏览:499
移动花卡怎么使用app流量 浏览:554
个税算法2021表格公式解读 浏览:174
怎么进入电脑板2b2t服务器 浏览:284
idea编译进度条 浏览:134
文件夹工具箱软件 浏览:688
最近为什么手机连不上索尼服务器 浏览:877
海康录像机怎么关视频加密 浏览:786
编程以后有可能被机器人代替吗 浏览:522
windows创建文件命令 浏览:987
linuxcopy文件内容 浏览:383
程序员帅哥秃顶 浏览:839
阿里云服务器开通流程 浏览:106
如何开云服务器 浏览:979
网站小说源码 浏览:303
php用什么ide 浏览:869