mysql用户管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: mysql用户管理

创建用户

命令

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

  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器


demo

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';


删除用户


DROP USER 'username'@'host';


授权

命令


GRANT privileges ON databasename.tablename TO 'username'@'host'

  • privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所有权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

常用授权


select

update

insert

delete

create

drop

index

alter

create temporary tables

lock tables

execute :执行存在的Functions,Procedures


demo

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';

GRANT ALL ON *.* TO 'pig'@'%';

GRANT ALL ON maindataplus.* TO 'pig'@'%';


设置与更改用户密码

命令


SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

当前用户:

SET PASSWORD = PASSWORD("newpassword");

demo


SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");


撤销用户权限

命令


REVOKE privilege ON databasename.tablename FROM 'username'@'host';

  • privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所有权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

demo

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意

假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%',则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。

查询用户权限

命令


select * from mysql.db where user='xxx';

  • xxx:mysql的账户

demo

select * from mysql.db where user='admin';


常见错误

Access denied for user 'root'@'%' to database 'mytest'

执行GRANT privileges ON databasename.tablename TO 'username'@'host'时遇到如上错误,是因为当前使用的账户没有grant的权限。

解决方法:


update mysql.user set Grant_priv='Y',Super_priv='Y' where user = 'root' and host = '%';

flush privileges;

然后重启mysql


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
存储 关系型数据库 MySQL
【mysql】—— 用户管理
【mysql】—— 用户管理
|
6月前
|
SQL 关系型数据库 MySQL
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
70 0
|
SQL 关系型数据库 MySQL
【MYSQL基础】MYSQL用户管理
【MYSQL基础】MYSQL用户管理
87 1
|
6月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理 -- 详解
【MySQL】用户管理 -- 详解
|
5月前
|
安全 关系型数据库 MySQL
深入解析MySQL 8中的角色与用户管理
深入解析MySQL 8中的角色与用户管理
200 3
|
6月前
|
关系型数据库 MySQL Linux
MySQL免编译安装和用户管理(转)
MySQL免编译安装和用户管理(转)
28 1
|
5月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理
【MySQL】用户管理
|
存储 关系型数据库 MySQL
Mysql 用户管理
Mysql 用户管理
63 0
|
存储 关系型数据库 MySQL
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
498 0
|
存储 关系型数据库 MySQL
MySQL_11 用户管理和权限管理
MySQL 第十一节 用户管理和权限管理 内容分享。
91 0
下一篇
无影云桌面