mysql权限管理总结
use mysql;
将dbname数据库的查询权限赋予amu@127.0.0.1用户,应保持完整的用户信息,包含允许登录的IP,否则会新增任意主机的用户
grant select on dbname.* to amu@127.0.0.1;
回收权限
revoke select on dbname.* from amu@127.0.0.1;
多个权限以逗号间隔
如果想立即刷新权限请使用更新操作
flush privileges;
mysql数据库里
user表管理用户的数据,包括全局权限;
db表,管理数据库的权限;
tables_priv表,管理数据表的权限。
可直接修改字段值以修饰正确的权限,但应谨慎。
使用Navicat for MySQL管理数据库的权限时,可能会遇到无法赋权限的情况,表现为勾选相关权限并保存后,所勾选项未显示出勾选状态。经查询数据表,原来是数据库名含有下划线,导致数据库名在字段中被添加转义符"\",于是前台无法显示,但实际已经生效(及时刷新权限)。此种情况下,也可直接修改数据实现权限控制。
数据库名尽量不要使用下划线。
注:命令行模式下,thinkphp3.2.3无法使用localhost主机的账号,修改为127.0.0.1或任意后正常。估计命令行模式下未能访问host文件,无法将localhost解析为127.0.0.1。