發(fā)信人: engineer (劍膽琴心~還是得走,sigh...), 信區(qū): linux
標(biāo) 題: mysql數(shù)據(jù)庫及其odbc接口的介紹(2) (轉(zhuǎn)載)
發(fā)信站: bbs 水木清華站 (mon aug 9 18:03:20 1999)
【 以下文字轉(zhuǎn)載自 database 討論區(qū) 】
【 原文由 engineer 所發(fā)表 】
五.mysql的權(quán)限管理
mysql的權(quán)限管理非常復(fù)雜,可以說這是它的得意之處,安全的管理有利于系統(tǒng)的穩(wěn)抖?
基本原則: [user] from [host] to [db] (of localhost)
系統(tǒng)數(shù)據(jù)庫mysql中有四個(gè)分區(qū):func,user,db,host.其中后三個(gè)有關(guān)權(quán)限管理.
它們的結(jié)構(gòu)如下:
database: mysql table: user rows: 3
+---------------+----------+------+-----+---------+-------+
| field | type | null | key | default | extra |
+---------------+----------+------+-----+---------+-------+
| host | char(60) | | pri | | |
| user | char(16) | | pri | | |
| password | char(16) | | | | |
| ......_priv | char(1) | | | n | |
+---------------+----------+------+-----+---------+-------+
database: mysql table: db rows: 3
+-------------+----------+------+-----+---------+-------+
| field | type | null | key | default | extra |
+-------------+----------+------+-----+---------+-------+
| host | char(60) | | pri | | |
| db | char(32) | | pri | | |
| user | char(16) | | pri | | |
| ......_priv | char(1) | | | n | |
+-------------+----------+------+-----+---------+-------+
database: mysql table: host rows: 0
+-------------+----------+------+-----+---------+-------+
| field | type | null | key | default | extra |
+-------------+----------+------+-----+---------+-------+
| host | char(60) | | pri | | |
| db | char(32) | | pri | | |
| ......_priv | char(1) | | | n | |
+-------------+----------+------+-----+---------+-------+
1.未在db表中列出的任意數(shù)據(jù)庫,user表中的權(quán)限都為有效.
可只在user表中設(shè)置某些superuser的權(quán)限,而在db表中不涉及.
2.host只用來維護(hù)有效的server,缺省為空表,即為局域網(wǎng)內(nèi)
的所有機(jī)器.
3.可用mysql -u root mysql命令修改權(quán)限.
4.權(quán)限匹配時(shí)遵循的原則是:
a. 表順序: host -> db -> user;
b. host和db域可有通配符%和_,表示所有和單個(gè)字符;
c. 同一表中,也是 host->db->user域的順序,無通配符優(yōu)
于有通配符;
d. user域?yàn)榭?''),表示匹配所有其他的用戶;
e. host可為機(jī)器名,localhost,ip,或通配符(如192.10.10.%),
但不允許用數(shù)字和點(diǎn)號(hào)開頭(如123.321.1.edu.cn);
f. 各表中的權(quán)限最后相"或";
5.修改完之后,執(zhí)行mysqladmin -u root reload更新.