知识归纳
因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。
如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排
当你登录mysql服务器之后,你可以使用user()和current_user()来检查你登陆的用户。
当你登录服务器并执行MySQL的命令时,系统将检查你当前的用户(current_user)是否有权限进行当前操作。
测试过程
创建3个用户名相同,HOST和权限都不同的USER
- mysql> grant select on *.* to ''@'%' identified by '123';
- Query OK, 0 rows affected (0.00 sec)
- mysql> grant select,createon *.* to 'bruce'@'10.20.0.232' identified by '123';
- Query OK, 0 rows affected (0.01 sec)
- mysql> grant select,create,deleteon *.* to 'bruce'@'%' identified by'123';
- Query OK, 0rows affected (0.00 sec)
新闻热点
疑难解答