mysql创建用户,并授权

1.创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

host分下列3种情况:
'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 具体ip 才能访问

 新用户默认只能看到test数据库和information_schema数据库。

 

2.修改密码

UPDATE USER  SET password=password('新密码') where user='username';

password('密码')   ,password方法为密码加密

 

 3. 授权

GRANT ALL PRIVILEGES ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'password';

ALL 可以替换成 select,delete,update,create,drop ,多个权限用逗号分隔

 

 例1: 授权给用户‘user1’在本地机器以外的任意机器上用密码‘123456’访问jstudio数据库的所有权限

           GRANT ALL PRIVILEGES ON jstudio.* TO 'user'@'%' IDENTIFIED BY '123456';

例2:  授权给用户‘user1’在本地机器以外的任意机器上用默认密码访问jstudio数据库中的table1表的所有权限

           GRANT ALL PRIVILEGES ON jstudio.table1 TO 'user'@'%' ;

例3:  授权给用户‘user1’在本地机器上用默认密码访问j所有数据库的所有权限

           GRANT ALL PRIVILEGES ON *.*TO 'user'@'localhost' ;

例4: 授权给用户‘test’在除本地以外的任意机器上用密码123456访问test数据库,拥有select和update的权限

          GRANT select,update on test.* to 'test'@'%' IDENTIFIED BY '123456';

@"%" 表示对所有非本地主机授权,不包括localhost。(ocalhost地址设为127.0.0.1)

 

4.删除用户

DROP user 用户名@'%';

DROP user 用户名@ localhost;

当没有给用户分配数据库的时候需要以下方式进行用户删除:

DELETE FROM user WHERE User='Username' and Host='localhost';

 

5.立即生效
flush privileges;

 

posted @   猪脚踏浪  阅读(714)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
点击右上角即可分享
微信分享提示