MySQL创建新用户并赋予指定数据库权限
创始人
2024-11-05 22:07:41
0

创建账号时并赋予权限语法如下:

grant all privileges on *.* to '用户名'@'登录IP或者域名' identified by '登录密码' with grant option; 
  • all privileges: 表示授权用户全部权限,当然你也可以指定赋予具体权限,比如SELECT、UPDATE、CREATE、DROP等。
  • on:表示这些权限可以作用于哪些数据库和哪些表,*.*表示作用于所有数据库和所有表,格式为数据库名.表名。比如有一个test库,想让yxc用户拥有查看test库所有表的权限,那么可以这样写:grant SELECT on test.* to 'yxc'@'%' identified by '登录密码';
  • to:将权限授予哪个用户。格式:'用户名'@'登录IP或域名'。这里登录IP或域名后面如果是’localhost’表示该用户只能在本地主机上进行访问,如果是通配符’%'代表允许从任何主机登录。
  • IDENTIFIED by:指定用户的登录密码。
  • with grant option:表示允许用户将自己的权限授权给其它用户。

部分权限含义如下:

权限含义
ALL [PRIVILEGES]设置除GRANT OPTION之外的所有简单权限
ALTER允许使用ALTER TABLE
ALTER ROUTINE更改或取消已存储的子程序
CREATE允许使用CREATE TABLE
CREATE USER允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW允许使用CREATE VIEW
DELETE允许使用DELETE
DROP允许使用DROP TABLE
INDEX允许使用CREATE INDEX和DROP INDEX
INSERT允许使用INSERT
SELECT允许使用SELECT
SHOW DATABASESSHOW DATABASES显示所有数据库
SHOW VIEW允许使用SHOW CREATE VIEW
SHUTDOWN允许使用SHUTDOWN关闭数据库服务器
UPDATE允许使用UPDATE
GRANT OPTION允许授予权限

eg:创建用户yxc,设置密码yxc@224!707,并赋予test数据库所有权限,并允许将自己的权限授权给其它用户。

grant all privileges on test.* to 'yxc'@'%' identified by 'yxc@224!707' with grant option; 

如果有些MySQL的数据库版本不允许在创建用户时就赋予权限,那么需要将创建和权限赋予分为两步:

create user 'yxc'@'%' identified by 'yxc@224!707'; -- 创建用户 GRANT all privileges ON  test.* TO 'yxc'@'%'; -- 将所有权限赋予给用户 

然后刷新权限使更改生效。

FLUSH PRIVILEGES;  

其他语法:

# 查看用户拥有的权限 SHOW GRANTS FOR 'yxc'@'%';  # 删除用户 DROP USER 'yxc'@'%'; -- 删除用户yxc,用户名(User)和主机名(Host)构成 FLUSH PRIVILEGES; -- 刷新权限  # 禁用用户 ALTER USER 'yxc'@'%' ACCOUNT lock; -- 禁用账号yxc FLUSH PRIVILEGES; -- 刷新权限  # 解除禁用 ALTER USER 'yxc'@'%' ACCOUNT UNLOCK; -- 解除禁用账号yxc FLUSH PRIVILEGES; -- 刷新权限  # 重命名用户名 -- 语法: rename user '用户名'@'IP或者域名' to '新用户名'@'IP或者域名'; -- eg:将yxc用户重命名为ly rename user 'yxc'@'%' to 'ly'@'%';  # 修改用户密码  set password for '用户名'@'IP或者域名'=password('新密码')  # 撤销权限REVOKE REVOKE SELECT ON test.* FROM 'yxc'@'%'; -- 撤销yxc在数据库test的权限  # 查看密码过期时间 show variables like 'default_password_lifetime';-- 0表示永不过期 # 设置密码过期时间为180天 set global default_password_lifetime=180; # 强制用户密码过期 ALTER USER 'yxc'@'%' PASSWORD EXPIRE; 


更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。

相关内容

热门资讯

欢乐棋牌!wepower有辅助... 欢乐棋牌!wepower有辅助器(透视挂)苹果版本教程-都是真的有挂(百度贴吧)1、许多玩家不知道欢...
WPk!wepoke透明真的(... WPk!wepoke透明真的(透视辅助)插件挂教程-原来真的有挂(微博热搜)1、操作简单,无需注册,...
aapOKER!wepoke辅... aapOKER!wepoke辅助透视教程(透视辅助)输赢教程-好像真的有挂(头条)1、aapOKER...
AaPOKER!wepoke挂... AaPOKER!wepoke挂(辅助挂)智能教程-原来真的有挂(抖音);1、AaPOKER机器人多个...
wpk有透视辅助!wepoke... wpk有透视辅助!wepoke辅助是真的,AApoker的确真的有挂,详细教程(有挂教程);该软件可...
AApOKER!wepoke中... AApOKER!wepoke中牌率(透视挂)系统教程-果真真的有挂(微博热搜)1、AApOKER!w...
微扑克辅助挂!wepoke里面... 微扑克辅助挂!wepoke里面有ai,We辅poker助原来真的有挂,揭秘攻略(有挂攻略);1、让任...
wepoke有挂!来玩app德... wepoke有挂!来玩app德州辅助器,poker master安卓版的确是有挂的,技巧教程(有挂规...
轰趴十三水!wepoke游戏数... 轰趴十三水!wepoke游戏数据有说法(透视挂)开挂教程-果然真的有挂(知乎)轰趴十三水辅助器中分为...
AaPOKER!wopoker... AaPOKER!wopoker游戏辅助器(透视辅助)黑科技教程-果然真的有挂(哔哩哔哩)1)AaPO...