Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Q10. [個人技能題組][Backend] Db 權限與備份。 #11

Open
wildwindjen opened this issue Mar 15, 2017 · 8 comments
Open

Q10. [個人技能題組][Backend] Db 權限與備份。 #11

wildwindjen opened this issue Mar 15, 2017 · 8 comments

Comments

@wildwindjen
Copy link
Contributor

wildwindjen commented Mar 15, 2017

實務上不要把 DB root 帳號直接給程式用,養成開立一組新權限給後端程式專用。請開立新的 DB 權限給後端程式使用,該權限只能針對該資料庫操作。從現在開始每天手動備份 DB 一次。

a. 你學會了哪些新東西?
b. 如果你不想要每天手動備份,可以怎麼做?
c. 你有做異地備份嗎?

答題時間:6 hr

@wildwindjen wildwindjen changed the title 10. [個人技能題組][Backend] Db 權限與備份。 Q10. [個人技能題組][Backend] Db 權限與備份。 Mar 15, 2017
@dustfantasy
Copy link

dustfantasy commented Apr 3, 2017

「於 2017/04/03 開始答題」

a.
帳號權限的指定,帳號、角色的建立,備份資料的指令。
資料庫中有角色這個設定,可以建立角色能擁有哪種權限,之後只要把角色指定給帳號,帳號即可使用該權限。
b.
可利用作業系統內的排程設定自動備份取代手動。
c.
如果是指要把資料存到硬碟裡在放置其他地方存放的話,我並沒有特地去買硬碟回來做備份的作業。
如果把gitlab算在內的話那算有。

「於 2017/04/03 答題結束」

@dwatow
Copy link

dwatow commented Apr 4, 2017

「於 2017/04/04 開始答題」
a. 用DB client建立帳號、設定權限
b. Google一下自動備份的SQL怎麼下。
1. 將SQL儲存成Terminal的腳本指令
2. 到作業系統的排程,新增新工作,呼叫此腳本檔,規定一週一次
這樣每週備份一次整個資料庫,會使硬碟再大都不夠用。三個月就有超多重複的資料出現了
1. 每天備份資料庫差異
2. 每週完整備份
3. 刪除三個月前的備份資料
異地備份....沒有XD。
「於 2017/04/04 答題結束」

@wildwindjen
Copy link
Contributor Author

@dustfantasy
這邊的備份是指 DB 內的資料,不是程式碼。另外,異地備份一定需要買硬碟回來做嗎?找個網路空間丟過去算不算?什麼是異地備份?

@dustfantasy
Copy link

@wildwindjen
異地備份是在不同地方保存資料來達到備份,就其根本目的來說是為了確保留下備份的做法。
因為即便是存放在另一硬碟中但若是放在同一個地點,讓一旦那地點發生意外備份依然會毀損,因此才要是異地存放。
單就根本目的來說,放上網路空間我個人認為應該也是符合異地備份。

@YenChunchen
Copy link

「於 2017/04/3 開始答題」
a. 你學會了哪些新東西?
新建資料庫,新增使用者,設定使用者權限,查看使用者權限,刪除使用者,備份資料庫
b. 如果你不想要每天手動備份,可以怎麼做?使用作業系統的排程工具執行備份
c. 你有做異地備份嗎?有,將包含Data的table scheme的檔案放在雲端

@PenguinRun
Copy link

PenguinRun commented Apr 14, 2017

「於2017/04/14 開始答題」
a. 你學會了哪些新東西?

  • 開立sql新使用者來做程式開發。
  • 如何使用ubuntu的內建的crontab來自動執行.sh排程。

b. 如果你不想要每天手動備份,可以怎麼做?
用ubuntu的crontab直接進行.sh的指令,
並附加自動刪除三天前的資料庫。

c. 你有做異地備份嗎?
目前沒有。等shoppingcart成形後會,預計會手動進行並放置在google及dropbox的免費空間。

blog

「於2017/04/14 答題結束」

@HoHow
Copy link

HoHow commented Apr 28, 2017

「於2017/04/28 開始答題」
實務上不要把 DB root 帳號直接給程式用,養成開立一組新權限給後端程式專用。請開立新的 DB 權限給後端程式使用,該權限只能針對該資料庫操作。從現在開始每天手動備份 DB 一次。

a. 你學會了哪些新東西?
建立資料庫使用者帳號,給予相關權限
b. 如果你不想要每天手動備份,可以怎麼做?
mac 設定shell script
linux 設定crontab
c. 你有做異地備份嗎?
把檔案放在雲端資料夾
「於2017/04/28 答題結束」

@alxtz
Copy link

alxtz commented Jun 9, 2017

「於2017/06/08 開始答題」

a.

  1. 在 database 創建 不同的userrole的方式

    CREATE USER/ROLE nobody(創建用戶/角色)

  2. 在SQL資料庫如何管理角色權限

    (ALTER ROLE nobody LOGIN)更改角色的權限

  3. 管理使用個別資料庫的權限

    (SCHEMA)

  4. 一些 PostgreSQL 的 Command Line 操作

    (\du, \dn, \dt, 設定一些顏色標亮)

  5. 不同備份資料庫的方式

b.

  1. 可以使用自動排程的程式(crontab, launchd)

c.

現在沒有,不過之後有重要的資料可以使用雲端服務

「於2017/06/09 結束答題」

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants