MySQL中常用的用户授权操作
2023-12-30 13:19:09
mysql 用户授权
1 )概述
- 让每个应用程序,单独开一个mysql的用户权限
- 所有mysql用户存储在 mysql库的user表中
2 ) 多种用户授权方式示例
show databases;
use mysql;
select user, authentication_string, host from mysql.user;
-- 创建和删除用户
-- create user '用户名'@'连接者的ip地址' identified by '密码';
create user wang@'127.0.0.1' identified by 'root123';
drop user wang@'127.0.0.1';
create user zz@'127.0.0.%' identified by 'root123';
drop user zz@'127.0.0.%';
-- 以上是在某个网段内创建用户
create user lee@'%' identified by 'root123';
drop user lee@'%';
-- 以上是在任意的 ip 地址下, 创建用户
create user 'xx'@'%' identified by 'root123';
drop user 'xx'@'%';
3 )修改mysql用户
rename user '用户名'@'ip地址' to '新用户名'@'ip地址'
4 ) 修改mysql密码
set password for '用户名'@'ip地址' = PASSWORD('新密码');
5 )授权管理
语法
- grant 权限 on 数据库.表 to ‘用户’@‘ip地址’
示例
grant all privileges on *.* TO 'xx'@'某ip'; 用户 xx 拥有所有数据库的所有权限
grant all privileges on studydb.* TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb 的所有权限
grant all privileges on studydb.info TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb中 info表的所有权限
grant select on studydb.info TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb 中info表的查询权限
grant select, insert on studydb.* TO 'xx'@'某ip'; 用户xx 拥有数据库 studydb 中info表的查询和插入权限
flush privileges; -- 将数据读取到内存中,从而立即生效,这个必须要有
对于权限的解读
- all privileges 除grant外的所有权限
- select 仅查权限
- select, insert 查和插入权限
- usage 连接(登录)权限,建立一个用户,默认就会自动授予其usage权限, 无其他权限
- alter 使用 alter table
- alter routine 使用 alter procedure 和 drop procedure
- create 使用 create table
- create routine 使用 create procedure
- create temporary tables 使用 create temporary tables
- create user 使用 create user、drop user、rename user 和 revoke all privileges
- create view 使用 create view
- delete 使用delete
- drop 使用 drop table
- execute 使用call和存储过程
- file 使用 select info outfile 和 load data infile
- grant option 使用 grant 和 revoke
- index 使用 index
- insert 使用 insert
- lock tables 使用 lock table
- process 使用 show full processlist
查看授权
- show grants for “用户”@“ip地址”
- $
show grants for 'xx'@'localhost'
取消授权
-
revoke 权限 on 数据库.表 from ‘xx’@‘ip地址’;
-
$
revoke ALL PRILEGES on studydb.* from 'xx'@'localhost';
-
注意
- 这些由运维DBA统一管理
- 为每个项目数据库创建用户
- 并赋予相关权限,
- 开发人员基本使用不到
文章来源:https://blog.csdn.net/Tyro_java/article/details/135303329
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!