资源描述:
《如何实现mysql中的用户的管理问题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、如何实现MySQL中的用户的管理问题>>教育资源库 1、授权机制的主要作用是什么? 授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和detete的权限。而其额外的功能还包括是否允许匿名使用数据库,使用MysQL的一些特定函数,如:LOADDATAINFILE之类。在这里请注意,MySQL中的用户名和Unix系统中的用户名并没有什么关系。虽然许多客户端程序允许你可以用当前的用户名进行登录,但是最标准的做法还是通过--user的选项。 2、授权机制是如何进行运作的? 在MySQ
2、L中主机和用户的联合视为唯一标志。比如说,在主机1和主机2上的用户lee实际上是不同的,他们对MySQL的使用权限也可以是有差别的。而整个授权机制的核心问题就是要解决授予从某个主机上登录的某个用户对某个数据库的使用权限。你可以通过脚本mysqlaccess测试一个主机上用户的对数据库操作的权限。而所有的授权信息都被存储在数据库mysql的user、host和db表中。我们可以通过mysqlmysql的指令连接到这个数据库中,并且通过select*fromuser(或者db,host)显示每个数据表中的内容。user表中所授予的
3、权限是整个授权机制的基本授权,也就是说,user中的定义对于任何一个用户+主机来说都是适用的,除非在db表中另外有所定义,因此,对于用户来说最好是就某个数据库为基础进行授权。而host表的主要目的是维护一个安全服务器的列表。而在具体考虑某个用户/主机对某个数据库的权限的的时候,我们还需要研究一下授权机制的的匹配搜索机制: 其次,在授权机制中可以对一个用户的口令进行加密,而且是必须加密,加密的方法是passysqladminreload使其生效。 下面是演示系统是如何进行搜索的: +-----------+--------
4、-+-
5、Host
6、User
7、... +-----------+---------+-
8、%
9、root
10、...
11、%
12、jeffrey
13、...
14、localhost
15、root
16、...
17、localhost
18、
19、... +-----------+---------+- 搜索的顺序应当是: localhost/root localhost/any any/jeffrey any/root 这样,如果在localhost的用户jeffrey要连接数据库的话,那么其授权应当根据localhost/任意行所规定的权
20、限而非任意/jeffrey行所规定的权限,请大家注意这一点,因为如果不合适的配置完全可能会使得你无法正常地使用这个数据库系统。 我们现在来看一个添加一个用户的例子:需要添加一名叫做custom用户,他分别从主机'localhost','server.domain'和'er数据库则应当被上述3个主机所访问。我们通过以下的sql语句来完成其操作。 shell>mysqlmysql. mysql>insertintouser(host,user,pass',passy
21、sql>insertint123下一页>>>>这篇文章来自..,。ouser(host,user,passain','custom',passysql>insertintouser(host,user,pass',passysql>insertintodb (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv) values ('localhost
22、','bankaccount','custom','Y','Y','Y','Y','Y','Y'); mysql>insertintodb (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv) values ('%','customers
23、','custom','Y','Y','Y','Y','Y','Y'); 3、授权数据表 授权数据表对表的行操作包括select,insert,upda