mysql用户及权限(WITH GRANT OPTION)

添加用户授权方法一:

create user 'user'@'ip' identified by 'password';
grant SELECT on op_db.* to 'user'@'ip' with grant option;
flush privileges;
create user 'root'@'127.0.0.1' identified by '****';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
flush privileges;

添加用户授权方法二:

grant SELECT on op_db.* to 'user'@'ip' identified by 'password' with grant option;
flush privileges;

WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。

注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。
如果不想这个用户有这个grant的权限,可以不加这句

查询数据库用户及IP:

select user ,user from mysql.user;

查询该用户指定ip所拥有的权限

SHOW GRANTS FOR 'user'@'ip';

权限收回:

revoke SELECT ON op_db.* FROM 'user'@'ip';

删除用户:

drop user 'user'@'ip';

修改mysql密码

mysql> ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('mypass');
SET PASSWORD FOR 'username'@'%' ='HQLM2017';
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
mysql> update mysql.user set authentication_string=password('******') where user='cmbh';

注意

如果忘记root密码,而有一个超级权限的普通用户,也可以用拥有超级权限的普通用户修改root密码

UPDATE USER SET authentication_string=PASSWORD('******') WHERE USER='root';

修改当前会话本身用户密码的方式包括:

mysql> ALTER USER USER() IDENTIFIED BY 'mypass';
mysql> SET PASSWORD = PASSWORD('mypass');
set password='Z%Q-#oxn';
posted @   whiteY  阅读(3637)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示