如何共享mysql數(shù)據(jù)庫?
網(wǎng)友解答: 共享數(shù)據(jù)庫,你說的是多個人同時使用一個數(shù)據(jù)庫吧,說的清楚一點就是,在一個數(shù)據(jù)庫上,給不同的人授予不同的權(quán)限,大家共同來使用這個數(shù)據(jù)庫。這個實現(xiàn)起來挺簡單的,下面以我本地的my
共享數(shù)據(jù)庫,你說的是多個人同時使用一個數(shù)據(jù)庫吧,說的清楚一點就是,在一個數(shù)據(jù)庫上,給不同的人授予不同的權(quán)限,大家共同來使用這個數(shù)據(jù)庫。這個實現(xiàn)起來挺簡單的,下面以我本地的mysql數(shù)據(jù)庫為例,在test數(shù)據(jù)庫上分別給A,B,C,D四個人授予查詢、增加、修改、刪除的權(quán)限,測試一下共享數(shù)據(jù)庫,實驗環(huán)境win7+mysql5.5,主要步驟如下:
1.首先,以root用戶打開本地數(shù)據(jù)庫,命令是"mysql -h *** -u root -p",登錄數(shù)據(jù)庫,為下一步分配權(quán)限做好準(zhǔn)本:
2.這一步開始給A,B,C,D這四個人分配不同的權(quán)限,主要命令是"grant *** on test.* to '***'@'%' identified by '***'",然后刷新數(shù)據(jù)庫"flush privileges"就行,如下圖所示:
3.接下來我們就可以進行測試了,在test數(shù)據(jù)庫上,分別對A,B,C,D四個人進行測試,如下圖所示,分別打開4個cmd窗口,四個人分別去連接數(shù)據(jù)庫測試:
這個是A用戶的測試結(jié)果,除了select查詢權(quán)限外,其他什么權(quán)限也沒有。
這個是B用戶的測試結(jié)果,除了insert插入權(quán)限外,其他什么權(quán)限也沒有。
這個是C用戶的測試結(jié)果,除了update更新權(quán)限外,其他什么權(quán)限也沒有。
這個是D用戶的測試結(jié)果,除了delete刪除權(quán)限外,其他什么權(quán)限也沒有。
至此就完成了A,B,C,D四個用戶共享test數(shù)據(jù)庫,每個人在數(shù)據(jù)庫上都有不同的權(quán)限。從整個過程來看,實現(xiàn)起來不難,就是在數(shù)據(jù)庫上給不同的用戶分配不同的權(quán)限,大家同時共享一個數(shù)據(jù)庫,我這里舉的例子是為了方便演示,也比較簡單,但是有一些不足,就是在給C,D用戶授權(quán)的時候未授予select查詢權(quán)限,而我們知道在修改和刪除的時候一般情況下都需要where語句作為條件,所以最好同時授予查詢權(quán)限,不然只能全修改或全刪除,這明顯就不合理,需要改進。還有,我是在本地數(shù)據(jù)庫上測試,你也可以用遠(yuǎn)程數(shù)據(jù)庫,但是流程和命令幾乎相同,就是修改一下h參數(shù)的IP就行,我這里就不再贅述了,希望以上分享的內(nèi)容能對你有所幫助吧。
網(wǎng)友解答:看你的圖片。應(yīng)該是sina的共享數(shù)據(jù)庫,其實就是在一個數(shù)據(jù)庫中,給你分配一個能訪問的庫,給其他人分配一個能訪問的庫。與別人共享一個實例,不同的schema而已。
你問怎么共享mysql數(shù)據(jù)庫,不知是:它是如何做的共享數(shù)據(jù)庫?
還是你想讓其他小伙伴也使用你的數(shù)據(jù)庫?
如果是第一個問題,那么這個也不難,主要就是mysql的權(quán)限控制即可,不同的用于授予不同的庫的權(quán)限即可。
如果是第二個問題,那就更簡單,你創(chuàng)建一個遠(yuǎn)程連接的用戶,例如
create user 'test'@'%' identified by 'mysql';
grant all on *.* to 'test'@'%';
flush privileges;
你的小伙伴就能使用test這個賬戶登錄啦。