mysql学习笔记(2)

mysql访问权限系统

当mysqld服务器启动时,将授权表的内容读入到内存中

你可以通过以下三种方式刷新内存中的权限:

1. FLUSH PRIVILEGES语句

2. 执行mysqladmin flush-privileges

3. mysqladmin reload命令让它重新读取表

 

要检查给定账户的权限,使用SHOW GRANTS语句

mysql> SHOW GRANTS FOR '用户名'@'主机';

 

通过CREATEDROP权限,你可以创建新数据库和表,或删除(移掉)已有数据库和表

SELECTINSERTUPDATEDELETE权限允许你在一个数据库现有的表上实施操作

INDEX权限允许你创建或删除索引

通过ALTER权限,你可以使用ALTER TABLE来更改表的结构和重新命名表

GRANT权限允许你把你自己拥有的那些权限授给其他的用户

FILE权限给予你用LOAD DATA INFILE和SELECT ... INTO OUTFILE语句读和写服务器上的文件,任何被授予FILE权限的用户都能读或写MySQL服务器能读或写的任何文件

需要CREATE ROUTINE权限来创建保存的程序(函数和程序),ALTER ROUTINE权限来更改和删除保存的程序,EXECUTE来执行保存的程序

拥有REPLICATION CLIENT权限便可以使用SHOW MASTER STATUS和SHOW SLAVE STATUS

REPLICATION SLAVE权限应授予从服务器所使用的将当前服务器连接为主服务器的账户

拥有SHOW DATABASES权限便允许账户使用SHOW DATABASE语句来查看数据库名

拥有CREATE TEMPORARY TABLES权限便可以使用CREATE TABLE语句中的关键字TEMPORARY

拥有LOCK TABLES权限便可以直接使用LOCK TABLES语句来锁定你拥有SELECT权限的表。包括使用写锁定,可以防止他人读锁定的表

一般赋给用户SELECTINSERTUPDATEDELETE权限

 

服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接 MySQL不允许匹配以数字和一个点起始的主机名

通配符字符在User列中不允许,但是你能指定空的值,它匹配任何名字 Password列可以是空的

到来的连接中的客户端名和用户名可能与user表中的多行匹配,如果有多个匹配,服务器必须选择使用哪个条目。按照下述方法解决问题:  

服务器在启动时读入user表后进行排序  

然后当用户试图连接时,以排序的顺序浏览条目  

服务器使用与客户端和用户名匹配的第一行

当服务器读取表时,它首先以最具体的Host值排序 当客户端试图连接时,服务器浏览排序的条目并使用找到的第一匹配

 

可以使用SELECT CURRENT_USER();确认当前连接的方式

 

db和host表在服务器启动时被读取并排序(同时它读user表)

db表在Host、Db和User范围列上排序,并且host表在Host和Db范围列上排序

对于user表,首先根据最具体的值最后根据最不具体的值排序,并且当服务器寻找匹配条目时,它使用它找到的第一匹配

 

前面关于用户权限如何计算的描述可以这样总结:

global privileges

OR (database privileges AND host privileges)

OR table privileges

OR column privileges

 

如果你手动地修改授权表(使用INSERT、UPDATE或DELETE等等),你应该执行mysqladmin flush-privilegesmysqladmin reload告诉服务器再装载授权表, 否则你的更改将不会生效,除非你重启服务器。

 

如果你使用SET PASSWORD、INSERT或UPDATE更改密码,你必须使用  PASSWORD()函数加密密码

SET PASSWORD FOR 'abe'@'host_name' = PASSWORD('eagle');

 

当你使用GRANT或CREATE USER语句或mysqladmin password命令指定密码时,不需要PASSWORD()函数,它们会自动使用PASSWORD()来加密密码

转载于:https://www.cnblogs.com/ywjs/archive/2013/02/07/2908568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值