2016-06-08 61 views
0

我有一個需要移到生產(第一次)的項目。該數據庫包括幾十個表格和程序/功能。它們都是在ROOT用戶下創建的(是的,我認識的做法很糟糕)。MySql從開發到生產轉移到不同的用戶

現在,我需要將整個事情轉移到生產環境,顯然不是在MySQL ROOT用戶下。

我想做到以下幾點,但在此之前我搞進去會喜歡一個專家的意見:

  1. 獲取使用mysqldump -u root -p -R MySB > dump.sql備份,
  2. 編輯文件,並與correct_user取代的root所有實例(其中correct_user將是MySQL用戶擁有的所有表和程序),
  3. 創建生產數據庫內相同的用戶,
  4. [R使用mysqldump -u correct_user -p -R MySB < dump.sql轉儲文件中的estore。

任何人都可以告訴我,如果我的計劃是正確的,或者如果有更好的(和更正式的)方式來做到這一點?

非常感謝。

+1

看起來相當不錯。 – Daniel

+0

嘗試在另一個參考系統上做同樣的事情。如果它有效,你有你的答案 – DaveyBoy

+0

不幸的@DaveyBoy,我沒有其他**多用途**系統我可以用來做這個檢查。這就是爲什麼我要尋求專家意見。 – FDavidov

回答

0

MySQL中的表格沒有所有者。您不必擔心創建它們的用戶。

程序,函數,觸發器,事件和視圖有所謂的「定義者」。它是用戶,在其下執行代碼。這一個應該從改變。確保新用戶有足夠的權限。他只需要在例程內運行代碼的特權,而不是更多。

所以你的步驟是正確的。但最終加載(4)應該按照或具有超級特權的用戶完成。

+0

做了什麼打算(和描述),並且它似乎都在按需工作。謝謝@PavelKatiushyn! – FDavidov