① 資料庫管理員的職責主要包括哪些
資料庫管理員的主要職責為:
1、資料庫管理員規定用戶訪問許可權和為不同用戶組分配資源。
2、監視監控資料庫的警告日誌,定期做備份刪除。
3、對資料庫的備份策略要根據實際要求進行更改,數據的日常備份情況進行監控。
4、規范資料庫用戶的管理定期對管理員等重要用戶密碼進行修改。
5、對SQL語句的書寫規范的要求一個SQL語句,如果寫得不理想,對資料庫的影響是很大的。
技術分工
產品的整個生命周期里資料庫管理員的職責重要而廣泛,這催生了各個縱向的運維技術方向,凡是關繫到資料庫質量、效率、成本、安全等方面的工作,及涉及到的技術、組件,主要包括:
1、資料庫監控技術:包括監控平台的研發、應用,服務監控准確性、實時性、全面性的保障。
2、資料庫故障管理:包括服務的故障預案設計,預案的自動化執行,故障的總結並反饋到產品/系統的設計層面進行優化以提高產品的穩定性。
3、資料庫容量管理:測量服務的容量,規劃服務的機房建設,擴容、遷移等工作。
4、資料庫性能優化:從各個方向,包括SQL優化、參數優化、應用優化、客戶端優化等,提高資料庫的性能和響應速度,改善用戶體驗。
② 如何管理伺服器上的多個資料庫
雖然這將減少託管所有這些資料庫的成本,但是,這增加了管理這些系統的復雜性,因為你現在要處理多個服務級協議和維護窗口。 當你決定在同一台伺服器上託管多個資料庫的時候,你要考慮的第一件事是這些系統是否有互補的維護窗口。如果一個系統不能在夜間放慢速度或者離線,另一個系統不能在白天放慢速度或者離線,這些系統就不適合共享一個伺服器,因為你在需要為系統使用補丁或者處於其它原因要讓系統離線的時候,你沒有有效的維護時間窗。 你需要考察的下一個決定因素是這些系統的服務級協議。需要99%的開機時間的系統能夠安排在一起,因為你可能會為這些系統(也許是集群解決方案)建立一個比非重要任務系統更強大的環境。這可以為你節省額外的成本,因為你現在不需要采購任何高端系統。具有更高的服務級協議的系統也可能會有同樣的維護時間窗。因此,這些系統在一開始就是互補的。 承擔工作量 對託管多個資料庫的SQL伺服器進行維護的最大難題是時機。 當然,當把多個資料庫集中在一個SQL伺服器的時候需要考慮的最重要的問題是,是否有足夠的CPU和內存資源處理這些客戶程序添加到這個資料庫伺服器的工作量。如果單個伺服器不能提供需要的CPU和內存資源,那麼,把這些資料庫都集中在那台伺服器上就不是一個好的選擇。 當你經過這個整個決策過程並且把這些資料庫都放在同一台伺服器上之後,你如何保持這些系統的健康和在高峰期仍能運行?與其它任何資料庫解決方案一樣,你仍需要處理自己的備份、索引碎片整理和重建、以及為操作系統和SQL伺服器使用補丁。 處理託管多個資料庫的SQL伺服器的維護的最大難題是時機。你需要保證你的維護任務能夠在這個SQL伺服器託管的全部資料庫計劃的維護時間窗內完成。在任何資料庫的維護時間窗之外進行維護工作都將引起資料庫運行緩慢,因為硬碟和CPU資源現在被維護活動佔用了,而不是處理正常的資料庫查詢。 重新索引工作 已經證明是有用的一個技術是比正常運行重新索引指令更頻繁地對你的索引進行碎片整理。整理碎片的指令比重新索引指令有更多的好處。第一,索引碎片整理指令是一種在線操作,而重建索引是一種離線工作(除非你運行SQL伺服器2005企業版或者更新的版本)。第二,如果你頻繁地運行索引碎片整理指令,每一次運行這個指令的時候工作量都比較少。 例如,你每個星期檢查一次索引碎片,它顯示碎片是70%。這樣,你就可以運行一個索引重建指令清除這些索引。 然而,你在第二天再檢查索引碎片的時候會發生什麼情況呢?它可能是大約8%至10%的碎片。因此,如果你每天運行一個索引碎片整理指令而不是每個星期運行一次索引碎片整理指令,每一天要做的工作就很少,這個工作就能夠更快地完成,可能在每天的維護時間窗內完成。 即使你在時間窗內不能讓這個系統離線,由於碎片整理操作是一種在線操作,這個系統在整理碎片操作的時間將繼續發揮作用,只是反應速度比正常情況下稍微慢一點。 資料庫備份 備份是在一台伺服器上託管多個資料庫的時候需要解決的另一個關鍵問題。 每一個資料庫都有自己的備份要求。備份資料庫也許是能夠在SQL伺服器運行時執行的最繁重的任務。並不是因為這種備份需要佔用大量的CPU和內存資源(這個任務佔用的資源一般是很低的,除非你在備份的時候對資料庫進行壓縮),而是因為備份一個大型資料庫需要佔用大量的硬碟資源。 當進行全面備份的時候,整個資料庫必須從硬碟讀取。如果你的硬碟系統非常繁忙,這個備份會引起性能嚴重下降。這種備份的最佳解決方案是選擇合適的時機。你還可以尋找能夠在備份的同時允許對資料庫備份進行壓縮的第三方工具。由於這將增加SQL伺服器上的CPU的工作量,它通常僅用很少的時間完成備份,因為需要寫入備份設備中的數據很少。 結論 只有很少的幾種技術能夠在一台伺服器上運行多個資料庫的時候幫助進行資料庫伺服器的維護。當你考慮資料庫整合項目時,希望你能發現這些工具是很有用的。
③ 如何用企業管理器管理資料庫
總共有四個步驟:
一. 在本地建立一個SQL Server伺服器.
請按下面的圖示操作:
1. 打開企業管理器,新建一個SQL SERVER組。如圖所示:
參考:http://cache.content.com/c?m=ad02b9&p=&newp=&user=&fm=sc&query=%C8%E7%BA%CE%D3%C3%C6%F3%D2%B5%B9%DC%C0%ED%C6%F7%B9%DC%C0%ED%CA%FD%BE%DD%BF%E2&qid=dd2e608c000057a0&p1=2
④ 如何使用phpmyadmin管理mysql資料庫
本地phpmyadmin遠程連接伺服器端MySQL 首先要確定mysql遠程連接已開啟,如果沒有開啟按照下面的二個方法操作:
方法一:改表法
因為在linux環境下,默認是關閉3306埠遠程連接的,需要開啟,如果裝mysql資料庫時開啟了3306就OK了。
默認mysql帳號不允許從遠程登陸,只允許localhost訪問。登入mysql後,更改 "mysql" 資料庫 里的 "user"(遠程資料庫的名稱) 表裡的 "host" 項,把"localhost"改稱"%" 。這樣mysql就可以遠程操作了。
update user set host = '%' where user = 'root';
注意:這樣方法只是把本機localhost訪問改為了"%"所有地址IP都可以訪問mysql伺服器,這樣很不安全。默認localhost訪問的時候有所有操作許可權。所以不安全!推薦用第二個方法。
方法二:授權法 (推薦使用)
(1)SQL語句:
grant select,insert,update,delete on *.* to root@"%" Identified by "password";
允許地址IP上root用戶,密碼dboomysql來連接mysql的所有資料庫,只付給select,insert,update,delete許可權。 這樣比較安全。如果只允許IP(192.168.1.1)上root用戶
訪問更安全,操作(2)
(2)SQ語句:
grant select,insert,update,delete on *.* to root@"192.168.1.1" Identified by "password";
只允許地址IP(192.168.1.1)上root用戶訪問更安全了。
(3)
grant all on *.* to root@"192.168.1.1" Identified by "password"
允許地址192.168.1.1上用root用戶,密碼password來連接mysql的所有資料庫,付給所有許可權。不太安全。
現在重啟mysql服務,如果伺服器上安裝了防火牆,看看3306埠開啟沒,如果沒需要開啟3306埠才能用了,在linux下要開啟防火牆 打開3306 埠,編輯這個文件vi /etc/sysconfig/iptables
輸入
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存後在控制台輸入 /etc/init.d/iptables restart 重啟防火牆,記得一定要重啟防火牆。
配置好本地PHP環境,下載PHPMYADMIN
方法一:
(一)、下載phpmyadmin
http://www.phpmyadmin.net/home_page/index.php
(二)、修改libraries文件夾下的config.default.php文件或者phpmyadmin根目錄的config.inc.php文件。
1、查找$cfg['PmaAbsoluteUri'] ,將其值設置為本地的phpmyadmin路徑
2、查找$cfg['Servers'][$i]['host'] , 將其值設置為mysql資料庫地址,例如127.0.0.1
3、查找$cfg['Servers'][$i]['user'] , 將其值設置為mysql資料庫用戶名,例如admin
4、查找$cfg['Servers'][$i]['password'] , 將其值設置為mysql資料庫密碼,例如admin
(三)、在本地訪問phpmyadmin 可查看遠程mysql資料庫,phpMyAdmin 3.3.1隻需要修改 $cfg['Servers'][$i]['host']的值,用戶名密碼 訪問phpmyadmin時輸入。
方法二:
1,在瀏覽器中輸入:http://localhost/phpmyadmin/setup/
2,點擊「新建伺服器」 ,填寫表單:
伺服器名稱:主機名稱
伺服器主機名:主機IP
認證方式:config
config 認證方式的用戶名:用戶名
config 認證方式的密碼:用戶密碼
3,保存後返回setup界面,點擊下載,下載的文件為 config.inc.php
4,將下載的文件 config.inc.php 復制到 /usr/share/phpmyadmin/ 目錄下
5,編輯 /usr/share/phpmyadmin/config.inc.php
添加以下代碼
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '主機名稱';
$cfg['Servers'][$i]['host'] = '主機IP';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = '用戶名';
$cfg['Servers'][$i]['password'] = '密碼';
⑤ 如何資料庫管理的行為規范
通常情況下,有兩個方面的標准來判斷資料庫是否設計的比較規范:一是看看是否擁有大量的窄表,二是寬表的數量是否足夠的少。若符合這兩個基本條件,則說明這個資料庫的規范化水平還是比較高的。
當然這兩個指標只是最基礎的判定條件。為了讓資料庫更加的規范,需要符合以下五點要求。
要求一:表中應該避免可為空的列。
雖然表中允許空列,但是,空欄位是一種比較特殊的數據類型。資料庫處理時需要進行特殊的處理。如此的話,就會增加資料庫處理記錄的復雜性。當表中有比較多的空欄位時,在同等條件下,資料庫處理的性能會降低許多。
所以,雖然在資料庫表設計的時候,允許表中具有空欄位,但是,我們應該盡量避免。若確實需要的話,我們可以通過一些折中的方式,來處理這些空欄位,讓其對資料庫性能的影響降低到最少。
一是通過設置默認值的形式,來避免空欄位的產生。如在一個人事管理系統中,有時候身份證號碼欄位可能允許為空。因為不是每個人都可以記住自己的身份證號碼。為此,身份證號碼欄位可以允許為空,以滿足這些特殊情況的需要。但是,在資料庫設計的時候,則可以做一些處理。如當用戶沒有輸入內容的時候,則把這個欄位的默認值設置為0或者為N/A。以避免空欄位的產生。
二是若一張表中,允許為空的列比較多,接近表全部列數的三分之一。而且,這些列在大部分情況下,都是可有可無的。若資料庫管理員遇到這種情況,筆者建議另外建立一張副表,以保存這些列。然後通過關鍵字把主表跟這張副表關聯起來。將數據存儲在兩個獨立的表中使得主表的設計更為簡單,同時也能夠滿足存儲空值信息的需要。
要求二:表不應該有重復的值或者列。
如現在有一個進銷存管理系統,這個系統中有一張產品基本信息表中。這個產品開發有時候可以是一個人完成,而有時候又需要多個人合作才能夠完成。所以,在產品基本信息表產品開發者這個欄位中,有時候可能需要填入多個開發者的名字。
⑥ 如何管理好多個資料庫
然而,這樣做很快將增加你的資料庫解決方案的成本,因為你要對你希望託管的每一個資料庫購買一台新的伺服器或者新的SQL伺服器許可證。
CIO頻道每周熱"點"文章
每一個實例或者每一個伺服器設置一個單一的資料庫能夠使資料庫管理更方便。然而,這樣做很快將增加你的資料庫解決方案的成本,因為你要對你希望託管的每一個資料庫購買一台新的伺服器或者新的SQL伺服器許可證。
為了應對這種價格昂貴的設置,人們一般在一個伺服器或者實例上託管多個資料庫(也就是多個應用程序)。雖然這將減少託管所有這些資料庫的成本,但是,這增加了管理這些系統的復雜性,因為你現在要處理多個服務級協議和維護窗口。
當你決定在同一台伺服器上託管多個資料庫的時候,你要考慮的第一件事是這些系統是否有互補的維護窗口。如果一個系統不能在夜間放慢速度或者離線,另一個系統不能在白天放慢速度或者離線,這些系統就不適合共享一個伺服器,因為你在需要為系統使用補丁或者處於其它原因要讓系統離線的時候,你沒有有效的維護時間窗。
你需要考察的下一個決定因素是這些系統的服務級協議。需要99%的開機時間的系統能夠安排在一起,因為你可能會為這些系統(也許是集群解決方案)建立一個比非重要任務系統更強大的環境。這可以為你節省額外的成本,因為你現在不需要采購任何高端系統。具有更高的服務級協議的系統也可能會有同樣的維護時間窗。因此,這些系統在一開始就是互補的。
承擔工作量對託管多個資料庫的SQL伺服器進行維護的最大難題是時機。
當然,當把多個資料庫集中在一個SQL伺服器的時候需要考慮的最重要的問題是,是否有足夠的CPU和內存資源處理這些客戶程序添加到這個資料庫伺服器的工作量。如果單個伺服器不能提供需要的CPU和內存資源,那麼,把這些資料庫都集中在那台伺服器上就不是一個好的選擇。
處理託管多個資料庫的SQL伺服器的維護的最大難題是時機。你需要保證你的維護任務能夠在這個SQL伺服器託管的全部資料庫計劃的維護時間窗內完成。在任何資料庫的維護時間窗之外進行維護工作都將引起資料庫運行緩慢,因為硬碟和CPU資源現在被維護活動佔用了,而不是處理正常的資料庫查詢。
重新索引工作
已經證明是有用的一個技術是比正常運行重新索引指令更頻繁地對你的索引進行碎片整理。整理碎片的指令比重新索引指令有更多的好處。第一,索引碎片整理指令是一種在線操作,而重建索引是一種離線工作(除非你運行SQL伺服器2005企業版或者更新的版本)。第二,如果你頻繁地運行索引碎片整理指令,每一次運行這個指令的時候工作量都比較少。
例如,你每個星期檢查一次索引碎片,它顯示碎片是70%。這樣,你就可以運行一個索引重建指令清除這些索引。
即使你在時間窗內不能讓這個系統離線,由於碎片整理操作是一種在線操作,這個系統在整理碎片操作的時間將繼續發揮作用,只是反應速度比正常情況下稍微慢一點。
資料庫備份備份是在一台伺服器上託管多個資料庫的時候需要解決的另一個關鍵問題。
每一個資料庫都有自己的備份要求。備份資料庫也許是能夠在SQL伺服器運行時執行的最繁重的任務。並不是因為這種備份需要佔用大量的CPU和內存資源(這個任務佔用的資源一般是很低的,除非你在備份的時候對資料庫進行壓縮),而是因為備份一個大型資料庫需要佔用大量的硬碟資源。
當進行全面備份的時候,整個資料庫必須從硬碟讀取。如果你的硬碟系統非常繁忙,這個備份會引起性能嚴重下降。這種備份的最佳解決方案是選擇合適的時機。你還可以尋找能夠在備份的同時允許對資料庫備份進行壓縮的第三方工具。由於這將增加SQL伺服器上的CPU的工作量,它通常僅用很少的時間完成備份,因為需要寫入備份設備中的數據很少。
結論只有很少的幾種技術能夠在一台伺服器上運行多個資料庫的時候幫助進行資料庫伺服器的維護。當你考慮資料庫整合項目時,希望你能發現這些工具是很有用的。