伺服器與資料庫管理_第1頁
伺服器與資料庫管理_第2頁
伺服器與資料庫管理_第3頁
伺服器與資料庫管理_第4頁
伺服器與資料庫管理_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

主從式資料庫系統(tǒng)-CH111本章宗旨介紹MySQL之權(quán)限功能、工作原理與權(quán)限類型介紹權(quán)限之授權(quán)與撤除指令及應(yīng)用方式簡介伺服器工作環(huán)境參數(shù)與管理簡介日誌檔產(chǎn)生方式與用途簡介伺服器管理指令簡介災(zāi)難預(yù)防與復(fù)原之意義與處理指令A(yù)dministrator伺服器管理應(yīng)用軟體使用說明主從式資料庫系統(tǒng)-CH112大綱11-1帳號(hào)與存取權(quán)限管理11-2伺服器系統(tǒng)環(huán)境管理11-3日誌檔管理11-4mysqladmin-伺服器管理命令11-5災(zāi)難預(yù)防與復(fù)原11-6設(shè)定維護(hù)排程計(jì)劃11-7Administrator應(yīng)用簡介主從式資料庫系統(tǒng)-CH11311-1帳號(hào)與存取權(quán)限管理11-1-1權(quán)限的功能11-1-2權(quán)限工作原理11-1-3權(quán)限類型11-1-4使用者授權(quán)與權(quán)限撤除11-1-5密碼設(shè)定與變更11-1-6啟用權(quán)限11-1-7伺服器連線11-1-8主機(jī)及其他設(shè)定值11-1-9權(quán)限驗(yàn)證主從式資料庫系統(tǒng)-CH11411-1-1權(quán)限的功能權(quán)限的主要功能認(rèn)證使用者是否有權(quán)登入伺服器執(zhí)行諸如Select、Insert、Update、Delete等資料處理作業(yè)時(shí),認(rèn)證是否有權(quán)開啟資料表和處理資料進(jìn)階的權(quán)限管理功能,在於驗(yàn)證相關(guān)人員是否可以將權(quán)限授與他人使用主從式資料庫系統(tǒng)-CH11511-1-2權(quán)限工作原理MySQL將存取權(quán)限控制分為兩個(gè)階段階段一:伺服器先查核使用者是否被允許連線。階段二:假如有連線權(quán)利,而且也成功的連線,使用者每發(fā)出每一道SQL指令時(shí),MySQL將檢查是否有足夠權(quán)限去處理該項(xiàng)作業(yè)主從式資料庫系統(tǒng)-CH11611-1-2權(quán)限工作原理(續(xù))連線後假如權(quán)限有被變更過(不管是自己變更,或是他人變更),變更的權(quán)限並不會(huì)立即發(fā)生作用除非已執(zhí)行【FlushPrivileges;】指令,MySQL才會(huì)重新讀取權(quán)限資料並置於記憶體主從式資料庫系統(tǒng)-CH11711-1-2權(quán)限工作原理(續(xù))MySQL將所有授權(quán)資訊儲(chǔ)存在”mysql”資料庫內(nèi)的資料表其中tables_priv和columns_priv兩個(gè)資料表用來存放資料處理權(quán)限資料,這些資料表用於階段二之查核User,Db及Host三個(gè)資料表用來存放連線權(quán)限資料,這些資料表用於階段一和二之查核主從式資料庫系統(tǒng)-CH11811-1-2權(quán)限工作原理(續(xù))權(quán)限資料表用法登錄在”user”資料表之使用者,在指定的”host”登入時(shí),這個(gè)使用者將可以處理位於伺服器上的資料庫(若所有權(quán)限都設(shè)為’Y’),此權(quán)限形同”Supervisor”權(quán)限登錄在”Db”資料表之使用者,在指定的”host”登入時(shí),這個(gè)使用者將可以處理指定的資料庫,包含此資料庫內(nèi)的全部資料表主從式資料庫系統(tǒng)-CH11911-1-2權(quán)限工作原理(續(xù))若需要從不同的主機(jī)連線來處理指定的資料庫時(shí),可以使用”host”資料表設(shè)定主機(jī)與資料庫。假如以這個(gè)方式工作,請(qǐng)將”Db”資料表之”host”欄位保留空白“tables_priv”與”columns_pri”權(quán)限設(shè)定意義與”Db”類似,不過它們可以指定更詳細(xì)的權(quán)限。假如使用者有權(quán)處理特定資料表,此意味他也有權(quán)處理該資料表之全部欄位主從式資料庫系統(tǒng)-CH111011-1-3權(quán)限類型權(quán)限使用時(shí)機(jī)Select,Insert,Update和Delete可用於處理指定資料庫內(nèi)現(xiàn)存資料表的紀(jì)錄操作Create使用於建立新的資料庫或資料表,Drop則用於刪除現(xiàn)存的資料庫或資料表Index使用於建立和刪除索引表,擁有Create資料表權(quán)限的人,同時(shí)擁有Index權(quán)限主從式資料庫系統(tǒng)-CH111111-1-3權(quán)限類型(續(xù))權(quán)限使用時(shí)機(jī)Alter使用於改變資料表結(jié)構(gòu)或重新命名Grant可用於將自己擁有的權(quán)限授與他人File用於以”LoadDataInfile”和”Select”指令在伺服器上讀寫檔案主從式資料庫系統(tǒng)-CH111211-1-3權(quán)限類型(續(xù))Reload權(quán)限又分成:flush-hosts,flush-logs,flush-privileges,flush-status,flush-tables,flush-threads,refresh,reloadreload用於通知伺服器重新載入權(quán)限資料表到記憶體flush-privileges與reload類似refresh用來關(guān)閉和重開日誌檔,以及沖回所有資料表Fulsh-XXX功能與refresh類似,可以附帶案例主從式資料庫系統(tǒng)-CH111311-1-3權(quán)限類型(續(xù))shutdown用於關(guān)閉伺服器,無對(duì)應(yīng)的SQL指令可用processlist用於顯示目前正在伺服器上工作的執(zhí)行緒,使用者隨時(shí)都可以顯示自己啟動(dòng)的執(zhí)行緒並刪除它,但是只有擁有Process權(quán)限的人才能查看由他人啟動(dòng)的執(zhí)行緒,而擁有Super權(quán)限的人才能使用Kill來刪除由他人啟動(dòng)的執(zhí)行緒CreateTemporaryTable權(quán)限使用於以關(guān)鍵字”TEMPORARY”來建立暫存表主從式資料庫系統(tǒng)-CH111411-1-3權(quán)限類型(續(xù))LockTables用來鎖住資料表,擁有Select權(quán)限的人,才能執(zhí)行LocakTables。資料表被鎖定後,其他人無法讀取資料表ReplicationClient用於執(zhí)行”ShowMasterStatus”和”ShowSlaveStatus”指令ReplicationSlave用於授權(quán)給備用伺服器之使用者,而這些人必須已連線至主伺服器,若未經(jīng)授權(quán),備用伺服器將無法要求更新主伺服器之資料主從式資料庫系統(tǒng)-CH111511-1-3權(quán)限類型(續(xù))ShowDatabases用於檢視指名的資料庫之全部資訊若無此權(quán)限,執(zhí)行此指令只能看到那些有被授權(quán)之資料表相關(guān)資訊假如啟動(dòng)伺服器時(shí),若有搭配”--skip-show-database”參數(shù),縱使有此授權(quán),也無法檢視資料庫相關(guān)資訊主從式資料庫系統(tǒng)-CH11161.完整授權(quán)1.1授權(quán)給使用者”monty”,以驗(yàn)證密碼”Happy”從localhost登入,並享有Grant權(quán)限(形同monty具有supervisor之權(quán)限)指令:GRANTALLPRIVILEGESON*.*TO'monty'@'localhost'IDENTIFIEDBY'Happy'WITHGRANTOPTION;1.2避免匿名者權(quán)限會(huì)蓋掉monty在Localhost之權(quán)限,應(yīng)增加一組權(quán)限,如下:指令:GRANTALLPRIVILEGESON*.*TO'monty'@'%'IDENTIFIEDBY'Happy'WITHGRANTOPTION;主從式資料庫系統(tǒng)-CH11171.完整授權(quán)(續(xù))1.3授權(quán)給使用者:admin,無驗(yàn)證密碼,可從localhost登入,享有Reload和Process管理者之權(quán)限,可使用mysqladmin主控端指令來執(zhí)行reload,refresh,和flush-XXX工作,但是他無權(quán)處理任何資料指令:

GRANTRELOAD,PROCESSON*.*TO'admin'@'localhost';主從式資料庫系統(tǒng)-CH11181.完整授權(quán)(續(xù))1.4替使用者”dummy”預(yù)設(shè)一個(gè)從Localhost登入之帳戶,但不給他任何權(quán)限(使用Usage參數(shù)之效果),權(quán)限則可留待以後再以部份授權(quán)方式加入指令:

GRANTUSAGEON*.*TO'dummy'@'localhost';主從式資料庫系統(tǒng)-CH11192.部份授權(quán)2.1設(shè)立帳戶並授與部分權(quán)限範(fàn)例(例如只允許處理bankaccount資料庫)

指令:GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TO'custom'@'localhost'IDENTIFIEDBY'obscure';

2.2使用Insert設(shè)立帳戶並授與部分權(quán)限範(fàn)例,反之可使用Delete撤除授權(quán)

範(fàn)例一:INSERTINTOuser(Host,User,Password)VALUES('localhost','custom',PASSWORD('obscure'));主從式資料庫系統(tǒng)-CH11202.部份授權(quán)(續(xù))範(fàn)例二:INSERTINTOuser(Host,User,Password)VALUES('','custom',PASSWORD('obscure'));範(fàn)例三:INSERTINTOdb(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)VALUES('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');主從式資料庫系統(tǒng)-CH11212.部份授權(quán)(續(xù))範(fàn)例四:INSERTINTOdb(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)VALUES('','expenses','custom','Y','Y','Y','Y','Y','Y');啟用權(quán)限指令:FLUSHPRIVILEGES;主從式資料庫系統(tǒng)-CH11223.撤除權(quán)限

3.1撤除帳號(hào)

指令一:DropUser‘帳號(hào)1’,‘帳號(hào)2’…;指令二:REVOKEpriv_type[(column_list)][,priv_type[(column_list)]]...ON{tbl_name|*|*.*|db_name.*}FROM帳號(hào)1[,帳號(hào)2]...指令三:REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser[,user]...指令四:DELETEFROMmysql.userWHEREUser=’'帳號(hào)’andHost='host_name';主從式資料庫系統(tǒng)-CH112311-1-5密碼設(shè)定與變更1.事前設(shè)立暗碼型密碼將Grant….IDENTIFIEDBY'’密碼’;改為下列型式即可Grant….IDENTIFIEDBYPassword('’密碼’);使用Insert指令設(shè)立帳戶時(shí),仍須使用Password('’密碼’)指令型式,將密碼轉(zhuǎn)成暗碼主從式資料庫系統(tǒng)-CH112411-1-5密碼設(shè)定與變更(續(xù))2.事後設(shè)立暗碼型密碼SetPasswordFor‘Jeffrey@%’=Password(‘密碼’);

說明:替使用者”Jeffrey”設(shè)立或變更密碼(只限r(nóng)oot使用者)SetPassword=Password(‘密碼’);

說明:替使用者”Jeffrey”設(shè)立或變更密碼(只限Jeffrey本人)主從式資料庫系統(tǒng)-CH112511-1-5密碼設(shè)定與變更(續(xù))3.變更密碼指令:UPDATEuserSETPassword=PASSWORD('密碼')WHEREHost='%'ANDUser='Jeffrey';主從式資料庫系統(tǒng)-CH112611-1-6啟用權(quán)限MySQL啟用全部或部份權(quán)限方式起動(dòng)mysqld時(shí),所有權(quán)限資料表將被載入記憶體,所有權(quán)限將自動(dòng)生效當(dāng)伺服器重新載入權(quán)限資料表時(shí),下列連線中主控端之權(quán)限將受到影響:主控端在下一次執(zhí)行資料表或欄位資料時(shí),資料表或欄位權(quán)限才生效主控端在下一次執(zhí)行UseDatabase時(shí),資料庫權(quán)限才生效主控端在下一次連線時(shí),完整權(quán)限和新的密碼才生效主從式資料庫系統(tǒng)-CH112711-1-6啟用權(quán)限(續(xù))執(zhí)行Grant,Revoke,或SetPassword指令後,伺服器將立即重新載入相關(guān)的權(quán)限資料表執(zhí)行Insert,Update,或Delete指令,必須搭配”FlushPrivileges;”指令,通知伺服器重新載入相關(guān)的權(quán)限資料表,新的權(quán)限才生效主從式資料庫系統(tǒng)-CH112811-1-7伺服器連線主控端與伺服端之連線指令mysql–hHost–uUser–pPassword其中”-h”代表指定連線主機(jī)參數(shù)Host代表主機(jī)名稱,可用數(shù)字碼,或是網(wǎng)域名稱”-u”代表使用者帳號(hào)參數(shù)User為使用者帳號(hào)”-p”表示密碼參數(shù)Password為使用者自己設(shè)定之密碼,”-p”和密碼間不能有空格若主控端與伺服端位於同一臺(tái)電腦,則–hHost部分可以省略主從式資料庫系統(tǒng)-CH112911-1-8主機(jī)及其他設(shè)定值user資料表上之host欄位,其輸入資料可使用下列型式使用主機(jī)名稱、IP代碼,或是localhost使用主機(jī)名稱型式時(shí),可搭配”%”萬用字元,例如單一字元”%”表示所有主機(jī),”%.”表示符合””網(wǎng)域的所有主機(jī)使用IP型式時(shí),也可以搭配”%”萬用字元,例如”144.155.166.%”主從式資料庫系統(tǒng)-CH113011-1-8主機(jī)及其他設(shè)定值(續(xù))使用IP型式時(shí),可搭配遮罩格式例如”/”,此意味從主機(jī)””到”55”,都被視為合法主機(jī)db資料表之host欄位若為空白時(shí),將以host資料表中對(duì)應(yīng)之host與db紀(jì)錄作為權(quán)限依據(jù)。若db欄位保留空白,將被視為”%”型式主從式資料庫系統(tǒng)-CH113111-1-8主機(jī)及其他設(shè)定值(續(xù))其他權(quán)限資料表之host欄若保留空白,將被視為”%”型式user權(quán)限資料表之user欄若保留空白,將被視為匿名帳號(hào)tables_priv和columns_priv之db,table_name,column_name三個(gè)欄位不得使用”%”字元,也不能保留空白主從式資料庫系統(tǒng)-CH113211-1-9權(quán)限驗(yàn)證階段一之權(quán)限驗(yàn)證過程如下讀取user資料表紀(jì)錄依據(jù)host及user將紀(jì)錄排序比對(duì)主機(jī),若有相符之主機(jī)資料,取出帳號(hào)及密碼與登入資料比對(duì),資料皆符合時(shí),即通過驗(yàn)證主從式資料庫系統(tǒng)-CH113311-2伺服器系統(tǒng)環(huán)境管理11-2-1系統(tǒng)環(huán)境參數(shù)設(shè)定系統(tǒng)參數(shù)值設(shè)定方式分成下列三種型式,型式一用於命令列,型式二用於參數(shù)檔,型式三用於應(yīng)用程式。型式一:--參數(shù)名稱=參數(shù)值,或--參數(shù)名稱型式二:參數(shù)名稱=參數(shù)值,或參數(shù)名稱型式三:SETGLOBAL參數(shù)名稱=參數(shù)值;主從式資料庫系統(tǒng)-CH113411-2-1系統(tǒng)環(huán)境參數(shù)設(shè)定

下列參數(shù)格式具有相同效果關(guān)閉效果--disable-column-names--skip-column-names--column-names=0開啟效果--column-names--enable-column-names--column-names=1主從式資料庫系統(tǒng)-CH113511-2-2系統(tǒng)環(huán)境參數(shù)型式各種常用系統(tǒng)環(huán)境參數(shù)請(qǐng)參見書本說明主從式資料庫系統(tǒng)-CH113611-3日誌檔管理11-3-1產(chǎn)生日誌檔11-3-2日誌檔內(nèi)容主從式資料庫系統(tǒng)-CH113711-3-1產(chǎn)生日誌檔啟動(dòng)mysqld伺服器時(shí),可搭配系統(tǒng)環(huán)境參數(shù)將執(zhí)行過程之信息記錄在日誌檔日誌檔可用下列指令強(qiáng)制關(guān)閉及重新開起新檔SQL指令:FlushLogs;命令列指令:mysqladminflush-logs,或mysqladminrefresh主從式資料庫系統(tǒng)-CH1138日誌檔類型檔案類型預(yù)設(shè)檔名儲(chǔ)存內(nèi)容錯(cuò)誤日誌主機(jī)名.err記錄伺服器啟動(dòng)、運(yùn)作及停止時(shí)遭遇的問題isam日誌自定檔名用於ISAM和MyISAM資料表除錯(cuò)階段之所有改變資料查詢?nèi)照I主機(jī)名.log記錄主控端連線及執(zhí)行SQL之相關(guān)信息,可用於追蹤問題發(fā)生原因異動(dòng)資料主機(jī)名-bin.log記錄所有會(huì)改變資料之SQL指令,這些信息也可用於備用伺服器之資料更新慢速查詢主機(jī)名-slow.log記錄所有查詢耗費(fèi)時(shí)間大於lon_query_time之指令,或是未使用索引表之指令主從式資料庫系統(tǒng)-CH113911-3-2日誌檔內(nèi)容1.錯(cuò)誤日誌檔錯(cuò)誤日誌檔內(nèi)容包含伺服器啟動(dòng)與停止時(shí)間,以及運(yùn)作期間發(fā)生的錯(cuò)誤資料2.查詢?nèi)照I檔查詢?nèi)照I檔用於記錄主控端連線及執(zhí)行SQL之相關(guān)信息,可用於追蹤問題發(fā)生原因3.異動(dòng)資料日誌檔異動(dòng)資料日誌檔記錄所有會(huì)改變資料之SQL指令,同時(shí)記錄更新資料耗費(fèi)的時(shí)間4.慢速查詢?nèi)照I檔所有查詢指令處理時(shí)間超過狀態(tài)變數(shù)”long_query_time”設(shè)定值者,將被記錄在慢速查詢?nèi)照I檔主從式資料庫系統(tǒng)-CH1140異動(dòng)資料日誌檔異動(dòng)資料日誌檔之主要用途,在於資料更新後若需復(fù)原資料,可直接從日誌檔取得復(fù)原資料之相關(guān)訊息,這些信息也可用於備用伺服器之資料更新毎次啟動(dòng)伺服器或執(zhí)行FlushLogs時(shí),系統(tǒng)即自動(dòng)產(chǎn)生一個(gè)新的日誌檔,檔名均相同,但是延伸名會(huì)以流水號(hào)遞增假如日誌檔太大時(shí)(大於預(yù)設(shè)值max_binlog_size),系統(tǒng)即自動(dòng)產(chǎn)生新的日誌檔主從式資料庫系統(tǒng)-CH1141異動(dòng)資料日誌檔(續(xù))執(zhí)行大型交易型資料的話,日誌資料則不會(huì)被分割在兩個(gè)日誌檔異動(dòng)資料日誌檔可搭配”--log-bin-index”參數(shù),系統(tǒng)將自動(dòng)產(chǎn)生一個(gè)索引檔,用來記錄相關(guān)日誌檔之關(guān)係。當(dāng)伺服器在運(yùn)作時(shí),不要去編輯索引檔,以免伺服器造成混淆主從式資料庫系統(tǒng)-CH1142異動(dòng)資料日誌檔(續(xù))可使用【ResetMaster】指令來刪除所有異動(dòng)資料日誌檔,或使用【PURGEMASTERLOGS】來刪除部份異動(dòng)資料日誌檔指令:PURGEMASTERLOGSTO'mysql-bin.010';PURGEMASTERLOGSBEFORE'2003-04-0222:46:26';主從式資料庫系統(tǒng)-CH1143異動(dòng)資料日誌檔(續(xù))刪除部份異動(dòng)資料日誌檔程序SHOWSLAVESTATUS指令查看那個(gè)日誌檔正被讀取中SHOWMASTERLOGS指令查看主伺服器有那些日誌檔選出最近的日誌檔,該檔將是系統(tǒng)還要使用的目標(biāo)檔備份將要?jiǎng)h除的日誌檔執(zhí)行刪除日誌檔主從式資料庫系統(tǒng)-CH1144異動(dòng)資料日誌檔(續(xù))刪除日誌檔時(shí),請(qǐng)先確認(rèn)無備份伺服器還要使用這些日誌檔理想的刪除規(guī)則為,每天執(zhí)行一次【mysqladminflush-logs】,然後將三天以上的日誌檔以【PurgeMasterLogs】指令刪除Purge指令可同時(shí)整理索引檔。主從式資料庫系統(tǒng)-CH1145異動(dòng)資料日誌檔(續(xù))記錄資料更新指令時(shí),可針對(duì)特定資料庫做選別,選別參數(shù)有兩種型式--binlog-do-db=DB_Name:若更新指令之處理對(duì)象資料庫非現(xiàn)用資料庫時(shí),該指令不被記錄--binlog-ignore-db=DB_Name:若更新指令之處理對(duì)象資料庫非現(xiàn)用資料庫時(shí),該指令將被記錄主從式資料庫系統(tǒng)-CH1146異動(dòng)資料日誌檔(續(xù))使用下述指令檢視日誌檔內(nèi)容:。近端伺服器:mysqlbinlog日誌檔名遠(yuǎn)端伺服器:mysqlbinlog日誌檔名–R

-h

伺服器所在主機(jī)名稱或使用下述指令更新特定的伺服器:mysqlbinlog日誌檔名|mysql-h伺服器名主從式資料庫系統(tǒng)-CH114711-4mysqladmin

伺服器管理命令11-4-1用途與語法mysqladmin是一個(gè)主控端應(yīng)用程式,用來執(zhí)行伺服器之管理作業(yè),諸如伺服器之環(huán)境設(shè)定和提示現(xiàn)狀信息,增刪資料庫,以及其他作業(yè)主從式資料庫系統(tǒng)-CH114811-4-1用途與語法mysqladmin語法:c:\mysql\bin>mysqladmin[options]command[command-option]command...其中[options]為選項(xiàng)參數(shù)command為操作資料庫指令[command-option]為指令選項(xiàng)參數(shù)指令型式及參數(shù)選項(xiàng)請(qǐng)參看書本說明主從式資料庫系統(tǒng)-CH114911-5災(zāi)難預(yù)防與復(fù)原

備份資料庫可預(yù)防因突發(fā)事故造成資料無法復(fù)原之損失適時(shí)的維護(hù)資料表,則有助於提升系統(tǒng)效率主從式資料庫系統(tǒng)-CH115011-5災(zāi)難預(yù)防與復(fù)原(續(xù))11-5-1資料庫備份備份資料庫之方式,可分成完整、漸增或局部資料表三種情形完整備份時(shí),必須確認(rèn)資料庫已無任何執(zhí)行緒使用它資料表備份時(shí),須確認(rèn)所有異動(dòng)資料含索引已被完整寫回磁碟主從式資料庫系統(tǒng)-CH11511.前置處理為了使備份資料能維持一致性,備份前應(yīng)先執(zhí)行下列指令,將相關(guān)資料表之索引資料寫回磁碟LockTables資料表1Read,資料表2Read…;FlushTablesWithReadLock;UnlockTables;主從式資料庫系統(tǒng)-CH11521.前置處理(續(xù))下列指令可用來檢視MyISAM資料表之狀態(tài)信息myisamchk–d資料表名:提示資料表一般資訊myisamchk–d-v資料表名:提示資料表一般資訊及檔案配置資訊myisamchk–eis資料表名:提示資料表重要資訊,須檢視整個(gè)資料表,所以較費(fèi)時(shí)。myisamchk–eiv資料表名:與-eis類似,但索引結(jié)構(gòu)資訊更詳盡主從式資料庫系統(tǒng)-CH11532.完整備份執(zhí)行完整備份時(shí),請(qǐng)先停止伺服器,然後重新啟動(dòng)並搭配”log-bin”參數(shù),重新設(shè)定備份日誌起始點(diǎn)完整備份指令以主控端應(yīng)用程式mysqldump(在命令列下執(zhí)行)執(zhí)行完整備份工作備份結(jié)果為一專案檔型式主從式資料庫系統(tǒng)-CH11543.完整備份範(fàn)例範(fàn)例1:c:\mysql\bin>mysqldump--optdb_name-rbackup-file.sql說明:將資料庫db_name以mysqldump(搭配opt參數(shù))完整下載,並儲(chǔ)存在專案檔backup-file.sql。此專案檔可用下列指令,將將資料庫db_name以mysql命令列指令,建立在其他主機(jī)上建檔指令:c:\mysql\bin>mysqldb_name<backup-file.sql主從式資料庫系統(tǒng)-CH11553.完整備份範(fàn)例(續(xù))範(fàn)例2:直接從特定伺服器資料下載至另一伺服器上指令:c:\mysql\bin>mysqldump--optdb_name|mysql--host=遠(yuǎn)端主機(jī)-Cdb_name範(fàn)例3:一次將數(shù)個(gè)資料庫下載至專案檔指令:c:\mysql\bin>mysqldump--databases資料庫1[資料庫2...]-rmy_databases.sql主從式資料庫系統(tǒng)-CH11563.完整備份範(fàn)例(續(xù))範(fàn)例4:一次將所有資料庫下載至專案檔。指令:c:\mysql\bin>mysqldump--all-databases-rall_databases.sql範(fàn)例5:若儲(chǔ)存引擎為InnoDB時(shí),改用下列指令:指令:c:\mysql\bin>mysqldump--all-databases--single-transaction-rall_databases.sql主從式資料庫系統(tǒng)-CH11574.漸增式備份採用漸增式備份時(shí),伺服器須在—log-bin模式下執(zhí)行,以便取得相關(guān)的備份線索資訊(前次完整備份或漸增備份之完成位置)執(zhí)行備份工作前,先執(zhí)行FlushLogs指令,轉(zhuǎn)回適當(dāng)之日誌檔拷貝所須的日誌檔前次為完整備份時(shí),拷貝全部若為漸增式,可能只需一個(gè)最近的日誌檔主從式資料庫系統(tǒng)-CH11585.局部備份局部備份乃針對(duì)個(gè)別資料表加以備份使用下列指令來局部備份指令1:BACKUPTABLEtbl_name[,tbl_name]...TO‘/path/to/backup/directory’;說明:此指令可同時(shí)拷貝數(shù)個(gè)資料表至指定目錄,指名資料表所屬之`.frm‘及`.MYD’檔案將被複製,`.MYI‘可利用前面兩個(gè)檔案來重新索引後取得指令2:SELECT*INTOOUTFILE'file_name'FROMtbl_name;主從式資料庫系統(tǒng)-CH115911-5-2復(fù)原資料1.重建資料庫指令:c:\mysql\bin>mysqldb_name<backup-file.sql說明:backup-file.sql是以mysqldump命令產(chǎn)生之專案檔主從式資料庫系統(tǒng)-CH116011-5-2復(fù)原資料(續(xù))2.復(fù)原資料表指令1:RESTORETABLEtbl_name[,tbl_name]...FROM‘/path/to/backup/directory’;說明:將以Backup指令備份的資料表復(fù)原,只能用於資料表不存在的情況,若資料表已存在時(shí),將產(chǎn)生錯(cuò)誤指令2:LOADDATAINFILEFILE_nameREPLACE…;說明:將以SELECTINTO指令備份的資料,重新載入對(duì)應(yīng)的資料表。若資料表有Primary或Unique型索引表,舊鍵值紀(jì)錄將被新紀(jì)錄取代主從式資料庫系統(tǒng)-CH116111-5-2復(fù)原資料(續(xù))復(fù)原資料時(shí),請(qǐng)先以RepairTable資料表或mysqlaheck–r資料表指令檢查資料表,99.9﹪的MyISAM資料表問題都可以克服無法解決問題時(shí),請(qǐng)改用下列方式處理:重新載入前次以mysqldump下載之備份資料。執(zhí)行下列指令來更新資料c:\mysql\bin>mysqlbinlog對(duì)應(yīng)日誌檔名|mysql主從式資料庫系統(tǒng)-CH116211-5-3資料表維護(hù)與損壞復(fù)原1.分析資料表指令(ANALYZETABLE)語法:ANALYZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...說明:可用於分析資料表及重建索引表,事前須先以讀取鎖定方式鎖表。適用於所有型態(tài)資料表主從式資料庫系統(tǒng)-CH11632.檢查資料表指令(CHECKTABLE)語法:CHECKTABLEtbl_name[,tbl_name]...[option]...說明:可用於檢查資料表及或提示錯(cuò)誤資訊,適用於所有MyISAM和InnoDB型態(tài)資料表其中option

有下列選項(xiàng)

{QUICK|FAST|MEDIUM|EXTENDED|CHANGED}主從式資料庫系統(tǒng)-CH1164檢查資料表選項(xiàng)參數(shù)

型式代表意義QUICK不做資料列掃描以檢查不正確之連結(jié)FAST只檢查未正常關(guān)閉的資料表CHANGED只檢查資料有變更或未正常關(guān)閉的資料表MEDIUM資料列掃描以維持正確之連結(jié),同時(shí)檢查紀(jì)錄與索引之checksumEXTENDED完整檢查,需耗費(fèi)很長的時(shí)間主從式資料庫系統(tǒng)-CH11653.整理資料表指令(OPTIMIZETABLE)語法:OPTIMIZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...說明:紀(jì)錄為不定長度的資料表,有大量資料被刪除時(shí),可用此道指令將紀(jì)錄重新連結(jié)(刪除空洞)。前述資料表若經(jīng)常要做更新處理時(shí),可於每週或每月處理一次OPTIMIZE主從式資料庫系統(tǒng)-CH11663.整理資料表(續(xù))OPTIMIZETABLE將依下述過成程來處理資料表檢查是否有刪除位置或紀(jì)錄被分段儲(chǔ)存,有則修復(fù)它檢查索引是否未排序,若未排序則重新排序檢查統(tǒng)計(jì)資料是否正確,不正確則更正之主從式資料庫系統(tǒng)-CH11674.修復(fù)資料表指令(REPAIRTABLE)語法:REPAIR[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...[QUICK][EXTENDED][USE_FRM]說明:此道指令只適用於MyISAM資料表,可用於修復(fù)損壞的資料表。其中各選項(xiàng)參數(shù)意義簡述如下QUICK:只修復(fù)索引樹EXTENDED:以逐列方式重建索引USE_FRM:依據(jù)`.frm'檔案重建索引表主從式資料庫系統(tǒng)-CH11685.mysqlcheck前述1~4指令也可改用mysqlchk主控端命令來處理,此命令只用來處理MyISAM資料表,執(zhí)行命令時(shí),伺服器不需要停止指令型式c:\mysql\bin>mysqlcheck[options]db_name[tables]c:\mysql\bin>mysqlcheck[options]--databasesDB1[DB2

DB3...]c:\mysql\bin>mysqlcheck[options]--all-databases主從式資料庫系統(tǒng)-CH116911-6設(shè)定維護(hù)排程計(jì)劃維護(hù)排程建議對(duì)於重要資料表,應(yīng)定期以Check,Repair,Optimize指令檢查搭配–myisam-recover參數(shù)來起動(dòng)伺服器,在資料處理人員正式處理資料表前,即完成資料表檢查和修復(fù)工作定期執(zhí)行維修計(jì)畫,例如每天一次(每天均需更新處理的資料表),或每週一次(較不重要的資料表)經(jīng)常需要增刪紀(jì)錄之資料表,每月處理一次Optimize主從式資料庫系統(tǒng)-CH117011-7Administrator應(yīng)用簡介Administrator是一個(gè)MySQL伺服器之管理程式可在檔案總管視窗內(nèi)點(diǎn)取MySQLAdministrator後,開啟畫面如圖11-1所示輸入帳號(hào)密碼後,即可聯(lián)上MySQL伺服器,接著出現(xiàn)圖11-2畫面主從式資料

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論