【問題】如何針對新增的MySQL用戶設定單一資料庫權限??



贊助商連結


頁 : [1] 2

風信子
2002-07-22, 07:01 PM
【問題】如何針對新增的MySQL用戶設定單一資料庫權限??
想針對某個MySQL用戶可以存取他自己的資料庫~~而不允許存取其他的資料庫請問該如何設定權限呢???


意思就是只能用這個單一帳號存取他自己單一的資料庫全部權限~~~因為要開放多人使用~~


PS:我用過phpMyAdmin~~可是還是不行~~(可能我用的方法錯誤)
ps:新的資料庫是空的~~請大大幫忙解惑~~3Q~~

贊助商連結


achilles
2002-07-26, 12:50 PM
grant all on dbname.* to username identitied by "password"

teddychu
2002-07-26, 12:58 PM
最初由 achilles 發表
grant all on dbname.* to username identitied by "password"
可以解說的再詳盡一點嗎?

我不太瞭解...^^||

achilles
2002-07-26, 01:21 PM
最初由 築夢 發表

可以解說的再詳盡一點嗎?

我不太瞭解...^^||

我是沒有用過phpMyAdmin,我都是在MySQL的命令列模式執行,

直接打"mysql"進入MySQL的資料庫(你必須要有root的權限),輸入的語法...
grant all on dbname.* to username identified by "password"

#請注意藍色的字體,dbname:就是你要指定的資料庫名稱,username:指定的帳號,password:設定此帳號的密碼,當然,該資料庫必須是已建立的資料庫

EX:
你要新增一個叫做"school"的資料庫給"Bill"用,並設"12345"為Bill開啟此資料庫的密碼,則必須執行以下的指令...
create database school;
grant all on school.* to bill identified by "12345";

teddychu
2002-07-26, 01:23 PM
原來是這樣...謝謝!

teddychu
2002-07-26, 01:26 PM
忘記問:FreeBSD可以這樣用嗎?

我自己打的時候按ENTER後,出現「→」

achilles
2002-07-26, 01:33 PM
最初由 築夢 發表
忘記問:FreeBSD可以這樣用嗎?

我自己打的時候按ENTER後,出現「→」

MySQL每個指令結束要有分號";"
上一篇我有做了一下修改,請再看一下...
另外,若該使用者仍無法登入,須注意MySQL的帳號是有主機(host)的區別

teddychu
2002-07-26, 01:36 PM
Query OK, 0 rows affected (0.02 sec)

成功了...謝謝!

achilles
2002-07-26, 01:59 PM
最初由 築夢 發表
Query OK, 0 rows affected (0.02 sec)

成功了...謝謝!

順便跟你講一下MySQL在授予使用者權限時主機的問題,

grant all on dbname.* to username identitied by "password"

在上面的語法中,username至少有三種寫法,有不一樣的效果
若寫成"[email protected]",表示是僅授予來自於192.168.1.1的bill開啟該資料庫;
若寫成"bill@localhost",表示是僅授予從MySQL本機登入的bill開啟該資料庫;
若僅寫成"bill",表示從任何地方連結至MySQL的bill都可以開啟該資料庫,但不包括從本機登入;
所以,如果要授予bill真正可以從任何地方開啟該資料庫,必須授予兩次,一次用"bill",第二次用"bill@localhost"。

teddychu
2002-07-26, 02:01 PM
那如果是架設論壇呢?