用户连接到mysql,并做各种查询.
[用户] <---> [服务器] 分为2个阶段
1.是否有权限连接上来.
2.是否有权限执行此操作(select、update、insert等).
1:判断用户是否有权限连接上来?
依据3个参数:
管理员来源IP
管理员账号
管理员密码
用户这3个信息存储在mysql库的user表中
host字段是允许来源IP
% 代表所有IP
修改用户的密码
update user set password = password('密码') where 用户名;
flush privileges;
2:判断用户执行权限
依据步骤
管理员是否有管理当前库的权限,当没有权限时,向下判断是否有操作某个表的权限
操作时,判断管理员是否有执行当前操作的权限
新增一个用户
grant [权限1,权限2,权限3...] on 库名.表 to 用户名@来源 [identified by 密码]
如果要允许所有库与表,库名.表 可用 *.*表示。
常用权限有 all、create、drop、select、insert、update、delete
例:
grant all on *.* to eli@% identified by '111111';
flush privileges;
修改权限
例:
revoke all on *.* from eli@%;
flush privileges;
[用户] <---> [服务器] 分为2个阶段
1.是否有权限连接上来.
2.是否有权限执行此操作(select、update、insert等).
1:判断用户是否有权限连接上来?
依据3个参数:
管理员来源IP
管理员账号
管理员密码
用户这3个信息存储在mysql库的user表中
host字段是允许来源IP
% 代表所有IP
修改用户的密码
update user set password = password('密码') where 用户名;
flush privileges;
2:判断用户执行权限
依据步骤
管理员是否有管理当前库的权限,当没有权限时,向下判断是否有操作某个表的权限
操作时,判断管理员是否有执行当前操作的权限
新增一个用户
grant [权限1,权限2,权限3...] on 库名.表 to 用户名@来源 [identified by 密码]
如果要允许所有库与表,库名.表 可用 *.*表示。
常用权限有 all、create、drop、select、insert、update、delete
例:
grant all on *.* to eli@% identified by '111111';
flush privileges;
修改权限
例:
revoke all on *.* from eli@%;
flush privileges;