2010-06-04 37 views
0

我正在處理客戶服務應用程序的日誌。另一個不是經驗豐富的開發人員正在研究其他事情,但我們都在同一個數據庫中。他有一些在客戶服務部門工作的朋友。我不認爲他會刪除日誌,但我想確保如果日誌被刪除,我們會知道它。MySQL日誌管理 - 對開發人員的保護

如果一行被刪除,我可以在另一個數據庫的某個地方對該行進行備份嗎?如果它被刪除了......我的選擇是什麼?

還是更好的....你做什麼?

更新

這裏的問題之一是,有沒有「編程」和「發展」的經理。該公司有25名員工 - 其中2名是開發人員,我們回答對開發一無所知的辦公室經理。

回答

1

對於初學者,不允許開發人員訪問生產環境。 (沒有人應該有除了你的高度信任的系統管理員直接進入生產環境。)

接下來,做一個特別賬戶通過存儲的特效全部數據的變化,並且不允許對錶的交互式訪問。

最後,作爲軟件的一部分,添加一個審計線索,以便您可以查看刪除的人員。

+0

我們使用PHPMyAdmin來管理數據...你是指那種或其他應用程序中的排序審計跟蹤? – Webnet 2010-06-04 16:20:45

+0

執行更新(您的代碼)的程序應該在數據庫中寫入所有更改的記錄。至於PHPMyAdmin,除系統管理員外,沒有人可以訪問它。如果你不鎖定這種訪問權限,那麼你就沒有安全保障。 – ThatBlairGuy 2010-06-04 17:10:16

0

我認爲每小時進行一次備份,並在必要時比較行數是最簡單和最可靠的事情。

1

還是更好的....你做什麼?

爲他創建第二個數據庫用戶並且不授予日誌表的DELETE權限?

+0

通常我會對此表示讚賞,但是OP聲明開發人員正在處理事情(可能需要也可能不需要'DELETE',我們不知道)。你的解決方案可以在一個主管 - > reportee關係中工作,但是OP的情況更多的是同事的煩惱。 – Matt 2010-06-04 14:30:02

0

這就是開發人員無法訪問生產數據的原因之一。還有更多,隱私的想法,但對我來說,最重要的是,你仍然不希望任何人,無論有多可信,都能夠以任何方式「混淆」實時數據。

因此,請確保開發人員針對單獨的數據庫工作,並確保實時生產數據庫沒有任何擁有他們不應擁有的特權的用戶。

+0

我們堅持開發環境,然後在生活之前使用測試版環境。但有時候,事情需要被固定或不需要。我們是一家只有2名開發人員的小公司。 – Webnet 2010-06-04 16:19:39

+0

在部署新版本系統時將現有數據遷移到新結構並不罕見,但應以受控方式完成。直接編輯生產系統中的數據應該非常少見。 – ThatBlairGuy 2010-06-04 17:13:54

+0

@WebNet:即便如此,也只能讓其他人出席才能完成修補程序。在生產數據庫上使用只有非開發人員和利益相關方纔擁有密碼的帳戶。以您的情況爲例,客戶服務經理或他/她的老闆。 – 2010-06-05 07:39:48

0

使用ENGINE=ARCHIVE在另一個表中進行備份?您需要運行DDL語句的權限才能從ARCHIVE表中刪除數據。