回覆列表
  • 1 # 碼農上線

    看你的圖片。應該是sina的共享資料庫,其實就是在一個數據庫中,給你分配一個能訪問的庫,給其他人分配一個能訪問的庫。與別人共享一個例項,不同的schema而已。

    你問怎麼共享mysql資料庫,不知是:它是如何做的共享資料庫?

    還是你想讓其他小夥伴也使用你的資料庫?

    如果是第一個問題,那麼這個也不難,主要就是mysql的許可權控制即可,不同的用於授予不同的庫的許可權即可。

    如果是第二個問題,那就更簡單,你建立一個遠端連線的使用者,例如

    create user "test"@"%" identified by "mysql";

    grant all on *.* to "test"@"%";

    flush privileges;

    你的小夥伴就能使用test這個賬戶登入啦。

  • 2 # 小小猿愛嘻嘻

    共享資料庫,你說的是多個人同時使用一個數據庫吧,說的清楚一點就是,在一個數據庫上,給不同的人授予不同的許可權,大家共同來使用這個資料庫。這個實現起來挺簡單的,下面以我本地的mysql資料庫為例,在test資料庫上分別給A,B,C,D四個人授予查詢、增加、修改、刪除的許可權,測試一下共享資料庫,實驗環境win7+mysql5.5,主要步驟如下:

    1.首先,以root使用者開啟本地資料庫,命令是"mysql -h *** -u root -p",登入資料庫,為下一步分配許可權做好準本:

    2.這一步開始給A,B,C,D這四個人分配不同的許可權,主要命令是"grant *** on test.* to "***"@"%" identified by "***"",然後重新整理資料庫"flush privileges"就行,如下圖所示:

    3.接下來我們就可以進行測試了,在test資料庫上,分別對A,B,C,D四個人進行測試,如下圖所示,分別開啟4個cmd視窗,四個人分別去連線資料庫測試:

    這個是A使用者的測試結果,除了select查詢許可權外,其他什麼許可權也沒有。

    這個是B使用者的測試結果,除了insert插入許可權外,其他什麼許可權也沒有。

    這個是C使用者的測試結果,除了update更新許可權外,其他什麼許可權也沒有。

    至此就完成了A,B,C,D四個使用者共享test資料庫,每個人在資料庫上都有不同的許可權。從整個過程來看,實現起來不難,就是在資料庫上給不同的使用者分配不同的許可權,大家同時共享一個數據庫,我這裡舉的例子是為了方便演示,也比較簡單,但是有一些不足,就是在給C,D使用者授權的時候未授予select查詢許可權,而我們知道在修改和刪除的時候一般情況下都需要where語句作為條件,所以最好同時授予查詢許可權,不然只能全修改或全刪除,這明顯就不合理,需要改進。還有,我是在本地資料庫上測試,你也可以用遠端資料庫,但是流程和命令幾乎相同,就是修改一下h引數的IP就行,我這裡就不再贅述了,希望以上分享的內容能對你有所幫助吧。

  • 中秋節和大豐收的關聯?
  • 經常夢到牙齒掉了,是怎麼回事?