用户管理
如果我们只能使用root用户,这样将会存在安全隐患,这时就需要使用MySQL的用户管理
张三只能操作mytest这个库,李四只能操作msg这个库,如果个他们root账户,那他门可以操作所有的库,那么风险就太大了。
用户
用户信息
MySQL中的用户,都存储在系统数据库mysql的user表中
字段解释:
host:表示这个用户可以从哪个主机登录,如果是localhost,表示只能从本机登录
user:用户名
authentication_string:用户密码通过password函数加密后的
*_priv:用户拥有的权限
创建用户
语法:
create user '用户名'@'登录主机/ip'identified by '密码';
案例分析:
删除用户
drop user '用户名'@‘主机名’
修改用户密码
语法:
1.自己改自己的密码
set password=password('新的密码');
2.root用户修改指定用户的密码
set password for '用户名'@‘主机名’=password('新密码');
set password for'zhangsan'@'localhost'=password('abcdefg');
数据库的权限
MySQL数据库提供的权限列表
给用户授权
刚创建的用户没有任何权限,需要给用户授权
语法:
grant 权限列表 on 库.对象 to '用户名'@'登录位置'[identified by '密码']
说明:
权限列表,多个权限用逗号分开
grant select on...
grant select,delete,create on...
grant all [privileages] on ...
案例:
回收权限
语法:
revoke 权限列表 on 库.对象名 from '用户名'@'登录位置';
示例:
回收zhangsan对数据库的所有权限
revoke all on mytest.DEPT from 'zhangsan'@'localhost';