用户账号管理

添加用户

使用create创建用户

语法格式:

CREATE USER [ IDENTIFIED BY [ PASSWORD ] ‘password‘ ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] ‘password‘ ]]

例:

1.CREATE USER ‘username‘@‘localhost‘ IDENTIFIED BY ‘passwd‘;

使用insert新建用户

语法格式:

INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES (‘hostname‘, ‘username‘, PASSWORD(‘password‘), ‘‘, ‘‘, ‘‘);

例:

1.INSERT INTO mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) VALUES (‘localhost‘,‘test‘,PASSWORD(‘passwd‘),‘‘,‘‘,‘‘);

2.FLUSH PRIVILEGES;

使用GRANT新建用户

语法格式:

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] ‘password‘]

priv_type 参数表示新用户的权限;

database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

user 参数指定新用户的账号,由用户名和主机名构成;

IDENTIFIED BY 关键字用来设置密码;

password 参数表示新用户的密码。

例:

1.GRANT SELECT ON *.* TO ‘test‘@localhost IDENTIFIED BY ‘passwd‘;

修改用户

修改用户名

语法格式:

RENAME USER TO

:系统中已经存在的 MySQL 用户账号。

:新的 MySQL 用户账号。

RENAME USER 语句用于对原有的 MySQL 用户进行重命名。

若系统中旧账户不存在或者新账户已存在,该语句执行时会出现错误。

使用 RENAME USER 语句,必须拥有 mysql 数据库的 UPDATE 权限或全局 CREATE USER 权限。

例:

RENAME USER ‘test1‘@‘localhost‘ TO ‘test02‘@‘localhost‘;

修改用户密码

使用set修改

语法格式:

SET PASSWORD FOR ‘username‘@‘hostname‘ = PASSWORD(‘newpasswd‘);

使用UPDATE修改

语法格式:

UPDATE mysql.user SET authentication_string = PASSWORD(‘newpasswd‘) WHERE User=‘username‘ AND Host=‘hostname‘;FLUSH PRIVILEGES;

例:

mysql>UPDATE mysql.user SET authentication_string = PASSWORD(‘newpasswd‘) WHERE User=‘test‘ AND Host=‘localhost‘;

mysql>FlUSH PRIVILEGES;

使用GRANT修改

语法格式:

GRANT USAGE ON *.* TO ‘user‘@‘hostname‘ IDENTIFIED BY ‘newpasswd‘;

例:

GRANT USAGE ON *.* TO ‘test‘@‘localhost‘ IDENTIFIED BY ‘newpasswd‘;

删除用户

使用DROP删除用户

语法格式:

DROP USER ‘username‘@‘host‘[,[email protected]]...

注意:用户的删除不会影响他们之前所创建的表、索引或其他数据库对象,MySQL不会记录是谁创建了这些对象

例:

DROP USER ‘test1‘@‘localhost‘;

使用DELETE删除用户

语法格式:

DELETE FROM mysql.user WHERE Host=‘hostname‘ AND User=‘username‘;

例:

DELETE FROM mysql.user WHERE Host=‘localhost‘ AND User=‘test1‘;

查看用户权限

使用SELECT查询

语法格式:

SELETE * FROM ‘username‘@‘hostname‘;

注意:

1.新建用户只有登录权限,没有任何其它权限,不能查询user表

使用SHOW GRANTS FOR查询

SHOW GRANTS FOR ‘username‘@‘host‘; #查看指定用户的权限

SHOW GRANTS FOR CURRENT_USER; #查看当前用户的权限

用户权限管理

赋予权限

语法格式:

GRANT priv_type [(column_list)] ON database.table TO user [IDENTIFIED BY [PASSWORD] ‘password‘]

[, user[IDENTIFIED BY [PASSWORD] ‘password‘]] ...

[WITH with_option [with_option]...]

priv_type 参数表示权限类型;

columns_list 参数表示权限作用于哪些列上,省略该参数时,表示作用于整个表;

database.table 用于指定权限的级别;

user 参数表示用户账户,由用户名和主机名构成,格式是“‘username‘@‘hostname‘”;

IDENTIFIED BY 参数用来为用户设置密码;

password 参数是用户的新密码。

WITH 关键字后面带有一个或多个 with_option 参数。这个参数有 5 个选项,详细介绍如下:

GRANT OPTION:被授权的用户可以将这些权限赋予给别的用户;

MAX_QUERIES_PER_HOUR count:设置每个小时可以允许执行 count 次查询;

MAX_UPDATES_PER_HOUR count:设置每个小时可以允许执行 count 次更新;

MAX_CONNECTIONS_PER_HOUR count:设置每小时可以建立 count 个连接;

MAX_USER_CONNECTIONS count:设置单个用户可以同时具有的 count 个连接。

1.授予数据库权限时,可以指定为以下值

SELECTSelect_priv表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。

INSERTInsert_priv表示授予用户可以使用 INSERT 语句向特定数据库中所有表添加数据行的权限。

DELETEDelete_priv表示授予用户可以使用 DELETE 语句删除特定数据库中所有表的数据行的权限。

UPDATEUpdate_priv表示授予用户可以使用 UPDATE 语句更新特定数据库中所有数据表的值的权限。

REFERENCESReferences_priv表示授予用户可以创建指向特定的数据库中的表外键的权限。

CREATECreate_priv表示授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。

ALTERAlter_priv 表示授予用户可以使用 ALTER TABLE 语句修改特定数据库中所有数据表的权限。

SHOW VIEWShow_view_priv表示授予用户可以查看特定数据库中已有视图的视图定义的权限。

CREATE ROUTINECreate_routine_priv表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。

ALTER ROUTINEAlter_routine_priv表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。

INDEXIndex_priv表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。

DROPDrop_priv表示授予用户可以删除特定数据库中所有表和视图的权限。

CREATE TEMPORARY TABLESCreate_tmp_table_priv表示授予用户可以在特定数据库中创建临时表的权限。

CREATE VIEWCreate_view_priv表示授予用户可以在特定数据库中创建新的视图的权限。

EXECUTE ROUTINEExecute_priv表示授予用户可以调用特定数据库的存储过程和存储函数的权限。

LOCK TABLESLock_tables_priv表示授予用户可以锁定特定数据库的已有数据表的权限。

ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv表示以上所有权限/超级权限

2.授予表权限时,可以指定为以下值

SELECTSelect_priv授予用户可以使用 SELECT 语句进行访问特定表的权限

INSERTInsert_priv授予用户可以使用 INSERT 语句向一个特定表中添加数据行的权限

DELETEDelete_priv授予用户可以使用 DELETE 语句从一个特定表中删除数据行的权限

DROPDrop_priv授予用户可以删除数据表的权限

UPDATEUpdate_priv授予用户可以使用 UPDATE 语句更新特定数据表的权限

ALTERAlter_priv 授予用户可以使用 ALTER TABLE 语句修改数据表的权限

REFERENCESReferences_priv授予用户可以创建一个外键来参照特定数据表的权限

CREATECreate_priv授予用户可以使用特定的名字创建一个数据表的权限

INDEXIndex_priv授予用户可以在表上定义索引的权限

ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv所有的权限名

例:

1. GRANT SELECT,INSERT ON *.* TO ‘test‘@‘localhost‘ IDENTIFIED BY ‘passwd‘ WITH GRANT OPTION;

回收权限

回收用户的某些特定权限

语法格式:

REVOKE priv_type [(column_list)]... ON database.table FROM user [, user]...

priv_type 参数表示权限的类型;

column_list 参数表示权限作用于哪些列上,没有该参数时作用于整个表上;

user 参数由用户名和主机名构成,格式为“username‘@‘hostname‘”。

例:

REVOKE SELECT,DROP ON *.* FROM ‘test‘@‘localhost‘;

回收特定用户的所有权限

语法格式:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

REVOKE 语法和 GRANT 语句的语法格式相似,但具有相反的效果

要使用 REVOKE 语句,必须拥有 MySQL 数据库的全局 CREATE USER 权限或 UPDATE 权限

例:

REVOKE ALL PRIVILEGES,GRANT OPTION FROM ‘test‘@‘localhost‘;

原文:https://www.cnblogs.com/wanwz/p/12875454.html

mysql使用参数指定用户_mysql-用户账号及权限管理相关推荐

  1. Linux CentOS 8(用户与组相关权限管理实验)

    Linux CentOS 8(用户与组相关权限管理实验) 目录 一.项目介绍 二.相关概念 2.1 用户管理简介 2.2 在 Linux 中每个文件的所有者.所在组.其它组的概念 三.任务操作 任务1 ...

  2. linux修改组的选项名字为,Linux用户、组及权限管理浅析

    一.用户和组 1.用户 系统用来认证(Authentication),授权(Authorization),审计(Autition)的帐号.通过登录用户来登录系统.操作系统通过登录不同的用户来调用相对应 ...

  3. mysql 树形结构_结合RBAC模型讲解权限管理系统需求及表结构创建

    结合RBAC模型讲解权限管理系统需求及表结构创建 在本号之前的文章中,已经为大家介绍了很多关于Spring Security的使用方法,也介绍了RBAC的基于角色权限控制模型.但是很多朋友虽然已经理解 ...

  4. mysql s授权所有用户_Mysql添加用户并授权

    Mysql添加用户并授权 1.使用root用户登录mysql数据库,切换到mysql数据库. mysql -u用户名 -p密码 use mysql 2.添加用户 //只允许指定ip连接 create ...

  5. mysql 主从配置指定数据库_Mysql数据库主从配置

    Mysql主从同步 Mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 主从同步原理 主从原理大致有三个步骤: 在主库上把数据更改记录到二进制日志中( ...

  6. mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息

    Mysql恢复到指定表 2009年05月27日 作者: 大头刚 一.从全备中提取某一个表的信息,并进行恢复 恢复使用Mysqldump工具备份的数据,有个不方便的地方,就是在恢复的时候不能指定恢复到表 ...

  7. 怎么从mysql注册表删除用户_mysql 创建和删除用户

    1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...

  8. mysql 查所有的用户_MySQL查看所有用户 - MySQL 系列教程

    在使用 MySQL 或其它关系型数据库的时候,免不了需要查看所有用户的信息,比如这些用户分别有什么权限,何时创建的之类.这篇文章里我们讨论,如何在 MySQL 中查看所有用户的信息. SHOW DAT ...

  9. mysql 创建索引权限_MYSQL索引和权限管理

    索引 可以理解为: 搜索引导,索引是一个特殊的数据结构,其存储的是数据的关键信息与详细信息的位置对应关系 例如:书本的目录 创建索引的语法: ​create index 索引的名字 on 表名称(字段 ...

最新文章

  1. SQL与NoSQL区别
  2. HA总结:AWS 网络连接
  3. 从业务到平台的思维转变
  4. 双向链表的建立、插入、删除、
  5. Groovy与Java的不同点
  6. NLPIR RuntimeError: NLPIR function 'NLPIR_Init' failed 解决方案
  7. JS性能分析(测试代码运行时间)
  8. Servlet生命周期和方法
  9. 【SRX】折腾了半天终于我的那对SRX210 升级到了 12.1R1.9
  10. 前端学习(2466):在前端页面中引入百度地图
  11. nodejs11安装教程(升级最新版本)
  12. 波特率与频率的换算公式?_高中物理公式总结表
  13. linux 内核代码怎么下载,centos的linux内核源码下载方法
  14. 电感的作用和工作原理
  15. Android框架之MVP实践简单万花筒
  16. 聚合数据左磊:不走寻常路 做国内最好的数据聚合平台
  17. 将《2020中国统计年鉴》中的GDP数据换算成不变GDP数据
  18. Linux——samba服务器部署
  19. 中科院自动化所研究员报——报告
  20. 1074 链表翻转(柳神代码思路)yyds

热门文章

  1. 年前最后一期!知识图谱理论与实战(线下集训)
  2. 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击
  3. HDU 1556 前缀和 树状数组 线段树
  4. PyTorch机器学习从入门到实战-CH2
  5. RabbitMQ使用手册
  6. Passport用户认证
  7. rust go java 性能_Java,Go和Rust之间的比较 - Dexter
  8. 云原生系列「0」容器概述
  9. Apache——启动错误:[Cannot load modules/mod_actions.so into server]解决方案
  10. 《Java程序设计》实验报告——Java的多线程机制