- 论坛徽章:
- 0
|
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
MySql 091224:MySQL的权限管理
@ http://zcatt.cublog.cn
1.
flush-logs
mysqladmin flush-logs
flush-logs对于三种log方式,general_log,
slow_query_log, 和binary_log的处理不尽相同
1)
general_log和slow_query_log先关闭log文件,再重新打开log文件
2)
binary_log先关闭log文件, 再使用新序号为后缀的文件名打开新log文件
3)
err_log处理类同2),但会使用-old后缀命名旧errlog文件。
general_log和slow_query_log应当先mv,再flush-logs.
2.
MySQL中的权限
按照作用的对象和范围,权限可分为3种
1)
管理权限,这种权限是全局的,用于整个mysql server的。
2)
数据库权限,这种权限是针对特定的一个,多个数据库的。
3)
管理数据库部件的权限,针对的是颗粒度更小的对象,例如数据库的table, index, view等。
下表摘自mysql ref
manual.
Privilege
Column
Context
CREATE
Create_priv
databases, tables, or indexes
DROP
Drop_priv
databases or tables
GRANT
OPTION
Grant_priv
databases, tables, or stored routines
REFERENCES
References_priv
databases or tables
EVENT
Event_priv
databases
ALTER
Alter_priv
tables
DELETE
Delete_priv
tables
INDEX
Index_priv
tables
INSERT
Insert_priv
tables
SELECT
Select_priv
tables
UPDATE
Update_priv
tables
CREATE
TEMPORARY TABLES
Create_tmp_table_priv
tables
LOCK
TABLES
Lock_tables_priv
tables
TRIGGER
Trigger_priv
tables
CREATE
VIEW
Create_view_priv
views
SHOW
VIEW
Show_view_priv
views
ALTER
ROUTINE
Alter_routine_priv
stored routines
CREATE
ROUTINE
Create_routine_priv
stored routines
EXECUTE
Execute_priv
stored routines
FILE
File_priv
file access on server host
CREATE
USER
Create_user_priv
server administration
PROCESS
Process_priv
server administration
RELOAD
Reload_priv
server administration
REPLICATION
CLIENT
Repl_client_priv
server administration
REPLICATION
SLAVE
Repl_slave_priv
server administration
SHOW
DATABASES
Show_db_priv
server administration
SHUTDOWN
Shutdown_priv
server administration
SUPER
Super_priv
server administration
ALL
[PRIVILEGES]
server administration
USAGE
server administration
账户的权限保存在mysql的user, db, host, tables_priv,
columns_priv和procs_priv
tables中。
1) user table决定是否允许(host, user)来的链接,如果允许,则对应的权限列指定了user的全局权限,适用于server中的所有db.
2)db table决定了(host,user)可以访问的db,权限列描述了可以在这个db上执行的操作。
3) host table用于配合table表处理允许 某个用户从多个host中访问 的问题。
4) tables_priv和columns_priv tables用于表和列级别的管理,是更细颗粒的。
5)procs_priv table用于stored routines.
mysqld启动时是将grant tables读入内存使用的,因此,变更privilege后应当flush privileges,或执行mysqladmin flush-privileges 或mysqladmin reload.
查看某个用户的权限:
show grants for 'root'@'localhost';
3.
MySQL的账户Account
1)账户是由(username,host)标识的。
形式:
'user_name'@'host_name'
注意那个单引号(也可用 ` 和 " )。不产生歧义时,单引号可以省略。例如使用特殊字符时,就需要使用单引号。
不带host_name的acount,等同 'user_name'@'%'
空白的user_name是匿名用户,等同''@'localhost'
host_name中可以使用通配符'%'和'_'
对于IP形式的host,可以使用host_ip/netmask形式指定, 但netmask只能指定8, 16,24, 或32bit的掩码。例如,
'david'@'192.58.197.0/255.255.255.0'
4.访问控制Access Control
1) stage 1,
使用user_name,
host_name, 和password判断是否许可访问
2)stage 2, 请求验证(request verification)。根据user,db,host,tables_priv,columns_priv和procs_priv表判断操作是否允许。判断逻辑可以描述为,
global privileges
OR (database privileges
AND host privileges)
OR table privileges
OR column privileges
OR routine privileges
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8866/showart_2130058.html |
|