MySQL用户与权限

.用户列 user表的用户列包括 Host、 User、password,分别表示主机名、用户名和密码。其中 user和 Host为 user表的联合主踺。当用户与服务器之间建立连接时,输入的账户信息中的用户名称、主机名和密码必 须匹配user表中对应的字段,只有3个值都匹配的时候,才允许连接的建立。这3 个字段的值就是创建账 户时保存的账户信息。修改用户密码时,实际就是修改user表的password字段的值。
权限列 权限列的字段决定了用户的权限,描述了在全局范围内允许对数据和数据库进行的操作。包括查 询权限、修改权限等普通权限,还包括了关闭服务器、超级权限和加载用户等高级权限。普通权限用于 操作数据库;高级权限用于数据库管理。 user表中对应的权限是针对所有用户数据库的。这些字段值的 类型为 ENUM,可以取的值只能为 Y和 N, Y表示该用户有对应的权限; N表示用户没有对应的权限。查看 user表的结构可以看到,这些字段的值默认都是 N。如果要修改权限,可以使用 GRANT语句或 UPDATE 语句更改 user表的这些字段来修改用户对应的权限。
安全列 安全列只有6个字段,其中两个是 SSI相关的,2个是 x509相关的,另外2个是授权插件相关的。 SSI用于加密; X509标准可用于标识用户: Plugin字段标识可以用于验证用户身份的插件,如果该字段 为空,服务器使用内建授权验证机制验证用户身份。可以通过 SHOW VARIABLES LIKE ’ have_openssl’语 句来查询服务器是否支持 SSI功能。
资源控制列 资源控制列的字段用来限制用户使用的资源,包含4个字段,分别为:
1)Max_questions— 用户每小时允许执行的查询操作次数。
2)Max_updates一用户每小时允许执行的更新操作次数。
3)Max_connections—用户每小时允许执行的连接操作次数。
4.)Max_user_connections—用户允许同时建立的连接次数。

mysql登录关键词
-h主机名,ip
-u用户
-p密码
-P端口

登录mysql
语法:mysql -u用户 -p密码
在这里插入图片描述

-h与-P只有在连接远程mysql时使用连接本地一般只使用-u与-p

创建用户
使用create创建用户
语法:create user 用户名@主机名 identified by 密码
创建一个用户tom并给他指定密码123456
在这里插入图片描述

使用哈希值创建用户设置密码
语法: select password(密码)
Create user 用户名@主机名 identified by password ‘哈希值‘;
先使用select password()算出密码哈希值然后创建用户插入哈希值
在这里插入图片描述

使用grant创建用户并赋值
语法:grant all(insert,update,delete,select) on 库.表 to 用户@主机名 identified by 密码
Grant后面可以跟insert,update,delete,select也可以使用all全部使用。库与表可以选择也可以使用*代表所有
在这里插入图片描述

更改密码
使用mysqladmin更改密码
语法:Mysqladmin -u用户 -p password 新密码
旧密码

使用set更改密码
语法1:set password=password(‘新密码’)只能更改登录用户密码
语法2:set password for 用户@主机名=password(‘新密码’)可以更改其他用户密码但是必须是root登录
在这里插入图片描述

使用grant更改密码
语法:grant usage on . to 用户@主机名 identified by ‘新密码’
Usage赋权限
在这里插入图片描述

使用哈希值更改密码
语法:select password(密码)
Update user set authentication_string=‘哈希值’ where user=‘用户’ and host=‘主机名’
在这里插入图片描述

查看用户
查看当前有多少用户
语法:select mysql.user from mysql.user\G
Select查询 mysql.user点前面为库点后面为表(如果在mysql库中可不写mysql)
在这里插入图片描述

查看当前用户
语法:show grants;
在这里插入图片描述

查看指定用户的权限信息
Show grants for 用户@主机名
在这里插入图片描述

查看想要查看的用户内容
语法:select 字段 from 表名’
在这里插入图片描述

给用户关闭某个权限
语法:update user set 权限=‘N’ where user=‘用户’ and host=‘主机名’
关闭插入权限
在这里插入图片描述

删除用户
使用drop删除用户
语法:drop user 用户@主机名;
在这里插入图片描述

使用delete删除用户
语法:delete from 表名 where user=‘用户’ and host=‘主机名’
在这里插入图片描述

回收权限
回收用户权限
Revoke 权限 on 库.表 用户@主机名
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL用户权限是指用户对于MySQL数据库的访问和操作权限MySQL提供了多种权限级别,用户可以被授予不同级别的权限,包括全局级别、数据库级别、表级别和列级别权限。 可以使用命令来管理MySQL用户权限。例如,要创建一个用户并授予相应的权限,可以使用以下命令: mysql -uroot -p -hlocalhost -P3306 mysql -e "CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE ON database.* TO 'username'@'localhost';" 这个命令将创建一个名为'username'的用户,并授予该用户对于'database'数据库的SELECT、INSERT、UPDATE和DELETE权限。 如果要同时修改多个用户的资源,可以使用ALTER USER命令。例如,要同时修改'test1'用户的身份验证方式和'test2'用户的连接数限制,可以使用以下命令: ALTER USER 'test1' IDENTIFIED WITH mysql_native_password, 'test2'@'localhost' IDENTIFIED BY '222222' WITH max_user_connections 2; 要删除一个用户,可以使用以下命令: DROP USER 'username'@'localhost'; 要查看用户权限情况,可以使用以下命令: SELECT db, table_name, table_priv, column_priv FROM mysql.tables_priv WHERE user = 'username'; 这个命令将显示名为'username'的用户在各个数据库和表上的权限。 请注意,以上命令只是示例,具体的命令和参数需要根据实际情况进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL深入学习(二一):用户权限管理](https://blog.csdn.net/qq_38697437/article/details/123983468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Mysql用户权限操作](https://blog.csdn.net/weixin_44826356/article/details/108730250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值