WEB开发网
开发学院数据库MySQL MySQL存取权限系统 阅读

MySQL存取权限系统

 2009-11-18 15:53:49 来源:WEB开发网   
核心提示:3. 存取控制:请求证实一旦你建立了一个连接,服务器进入阶段2,MySQL存取权限系统(3),对在此连接上进来的每个请求,服务器检查你是否有足够的权限来执行它,你使用PASSWORD()函数指定口令):shell> mysql -u root mysqlmysql> UPDATE user SET Pass

3. 存取控制:请求证实

一旦你建立了一个连接,服务器进入阶段2。对在此连接上进来的每个请求,服务器检查你是否有足够的权限来执行它,授权表用GRANT和REVOKE命令操作。

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[, user_name [IDENTIFIED BY 'password'] ...]
[WITH GRANT OPTION]
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
ON {tbl_name | * | *.* | db_name.*}
FROM user_name [, user_name ...]

GRANT在MySQL 3.22.11或以后版本中实现。对于更早MySQL版本,GRANT语句不做任何事情。

GRANT和REVOKE命令允许系统主管在4个权限级别上授权和撤回赋予MySQL用户的权利:

全局级别

全局权限作用于一个给定服务器上的所有数据库。这些权限存储在mysql.user表中。

数据库级别

数据库权限作用于一个给定数据库的所有表。这些权限存储在mysql.db和mysql.host表中。

表级别

表权限作用于一个给定表的所有列。这些权限存储在mysql.tables_priv表中。

列级别

列权限作用于在一个给定表的单个列。这些权限存储在mysql.columns_priv表中。

user表权限是超级用户权限。只把user表的权限授予超级用户如服务器或数据库主管是明智的。对其他用户,你应该把在user表中的权限设成'N'并且仅在一个特定数据库的基础上授权, 使用db和host表。

4. 权限更改何时生效

当mysqld启动时,所有的授权表内容被读进存储器并且从那点生效。

用GRANT、REVOKE或SET PASSWORD对授权表施行的修改会立即被服务器注意到。

如果你手工地修改授权表(使用INSERT、UPDATE等等),你应该执行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges告诉服务器再装载授权表,否则你的改变将不生效,除非你重启服务器。

5. 建立初始的MySQL权限

在安装MySQL后,你通过运行scripts/mysql_install_db安装初始的存取权限。包含下列权限集合:

* MySQL root用户作为可做任何事情的一个超级用户。连接必须由本地主机发出。注意:出世的root口令是空的,因此任何人能以root而没有一个口令进行连接并且被授予所有权限。

* 一个匿名用户,他可对有一个'test'或以'test_'开始的名字的数据库做任何时期事情,连接必须由本地主机发出。这意味着任何本地用户能连接并且视为匿名用户。

* 其他权限被拒绝。例如,一般用户不能使用mysqladmin shutdown或mysqladmin processlist。

为MySQL root用户指定一个口令(注意,你使用PASSWORD()函数指定口令):

shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';
mysql> FLUSH PRIVILEGES;

在MySQL 3.22和以上版本中,你可以使用SET PASSWORD语句:

shell> mysql -u root mysql

mysql> SET PASSWORD FOR root=PASSWORD('new_password');

设置口令的另一种方法是使用mysqladmin命令:

shell> mysqladmin -u root password new_password

看看scripts/mysql_install_db脚本,看它如何安装缺省的权限。你可用它作为一个研究如何增加其他用户的基础

上一页  1 2 3 4  下一页

Tags:MySQL 存取 权限

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接