mysql 管理:mysql 執行許可權(轉)

BSDLite發表於2007-08-11
mysql 管理:mysql 執行許可權(轉)[@more@]對於一個剛安裝好的 mysql,其安全性是很差的,因為任何使用 mysql 的使用者都能使用和更改資料庫的資料,因此需要為 mysql 的 root 使用者設定口令(mysql 的 root 與 linux 的 root 是兩回事,它們之間沒有任何關係).

為 root 設定口令需要用到 mysqladmin 這個命令,因為我安裝的 mysql 在 /usr/local 下,因此,我到目錄 /usr/local/bin 下執行這個命令:

#./mysqladmin -u root password "passwd"

"passwd" 是我為 root 設定的口令明文;

好了,我在 root 使用者下執行 mysql:
#mysql

被拒絕了,再用下面的命令執行 mysql:
#mysql -uroot -p
出現:Enter password:

我輸入密碼後,成功登入了,因此不必再擔心有其他使用者隨意使用資料庫了,接著又出現問題了,root 許可權在 mysql 裡有控制一切的權利,當有使用者請求使用資料庫時,把 root 的密碼告訴使用者也是很危險的,所以我考慮在資料庫再設定其他的使用者帳號,並將適當的許可權開放給他.

建立新使用者和授權,需要用到下面這個語法:
grant privileges on what to user identified by "passwd" with grant option

privileges 分配許可權
what 許可權的應用級別
user 使用者
passwd 密碼明文
with grant option 使用這個子句時將允許使用者將其許可權分配給他人.

我準備建立 team 的使用者,並只允許他使用 team 資料庫的許可權,所以我使用了以下的名令:
#mysql -uroot -ppasswd
先執行 mysql

>grant all on team.* to team@localhost identified by "team";

在這我給了 team 使用者控制 team 資料庫的所有許可權,並且不允許他分配許可權給其它人.

這樣當使用者請求使用資料庫時,我只需將 team 使用者的密碼交給他就行了.

另外在 web 頁控制 mysql 資料庫的工具 phpMyAdmin 是個非常強大而又危險的工具,為了資料庫的安全,最好在使用這個工具時,讓使用者透過認證以策安全。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-945616/,如需轉載,請註明出處,否則將追究法律責任。

相關文章