1、 创建用户
前置条件:必须拥有globalCREATE USER privilege或者MySQL 数据库的INSERT privilege。

例:

MariaDB>create user ‘user’@’host’ identified by ‘password’;

其中:
user为用户名。
host为主机。可以使用localhost、ip地址或者hostname,使用’%’表示不限制主机。‘user’@’host’构成一个唯一用户。
password为密码。

2、 修改用户
前置条件:alteruser语句需要具备修改账号的权限并且对mysql库有insert权限。

例:

MariaDB>set password for ‘user’@’host’ = PASSWORD(‘password’);

其中:user’@’host’为需要设置密码的用户,不写for user为设置当前用户的密码,PASSWORD及OLD_PASSWORD对后面的明文‘password’进行加密处理,或者直接输入加密后的密码,如’*23AE809DDACAF96AF0FD78ED04B6A265E05AA257’。

3、 删除用户
例:

MariaDB >dropuser ‘user’@’host’;

4、 限制账户资源
对单个账户可以设置的资源限制有
1. 每小时查询次数
2. 每小时更新次数
3. 每小时连接次数
4. 同时在线的连接个数
对应:GRANTOPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
例:

MariaDB > GRANT ALL ON *.* TO ‘user’@’host’
IDENTIFIEDBY 'password'
WITHMAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
MAX_USER_CONNECTIONS 2;

当账户的限制非0时则会给资源使用计数。Server运行时给每个账户的使用资源计数,如果达到了连接次数限制则下一个连接将会被拒绝。同样地若达到了查询、修改等次数限制则会产生一个error信息。
每个账户各自进行资源计数而不是针对客户端。可以全局重置当前的每小时使用的资源计数,也可以针对指定的账户重置计数:
1. 将所有账户计数器清零使用FLUSH USER_RESOURCES语句。重新加载权限表语句也会清零计数器(FLUSH PRIVILEGES或mysqladmin reload命令)
2. 给特定账户清零计数器使用GRANT USAGE语句指定一个与原来一样的限制次数
计数器清零对于max_user_connections无效,系统重启会将所有的计数器清零。

5、 用户管理表user
用户信息存储在系统表mysql.user中,可以通过对user表的增删改查来实现对用户的管理。
User表字段及其含义:

字段名 含义
Host 表示容许该用户连接的客户端限制,取值有:’localhost’、IP地址、域名、’%’;其中%表示不限制
User 用户名
Password 加密后的密码
Select_priv 确定用户是否可以通过SELECT命令
Insert_priv 确定用户是否可以通过INSERT命令插入数据
Update_priv 确定用户是否可以通过UPDATE命令修改现有数据
Delete_priv 确定用户是否可以通过DELETE命令删除现有数据
Create_priv 确定用户是否可以创建新的数据库和表
Drop_priv 确定用户是否可以删除现有数据库和表
Reload_priv 确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。
Shutdown_priv 确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎
Process_priv 确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程
File_priv 确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令
Grant_priv 确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户
References_priv 目前只是某些未来功能的占位符;现在没有作用
Index_priv 确定用户是否可以创建和删除表索引
Alter_priv 确定用户是否可以重命名和修改表结构
Show_db_priv 确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。
Super_priv 确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令。
Create_tmp_table_priv 确定用户是否可以创建临时表
Lock_tables_priv 确定用户是否可以使用LOCK TABLES命令阻止对表的
Execute_priv 确定用户是否可以执行存储过程。
Repl_slave_priv 确定用户是否可以读取用于维护复制数据库环境的二进
Repl_client_priv 确定用户是否可以确定复制从服务器和主服务器的位置
Create_view_priv 确定用户是否可以创建视图
Show_view_priv 确定用户是否可以查看视图或了解视图如何执行
Create_routine_priv 确定用户是否可以更改或放弃存储过程和函数
Alter_routine_priv 确定用户是否可以修改或删除存储函数及函数
Create_user_priv 确定用户是否可以执行CREATE USER命令
Event_priv 确定用户能否创建、修改和删除事件
Trigger_priv 确定用户能否创建和删除触发器
Create_tablespace_priv 确定用户能否创建表空间
ssl_type
ssl_cipher
x509_issuer
x509_subject
max_questions 每小时可执行的查询命令
max_updates 每小时可执行的更新命令
max_connections 每小时的容许用户的最多连接次数
max_user_connections 每小时容许用户最大连接客户端个数
Plugin
authentication_string 认证字符串
password_expired 密码是否已过期
is_role 是否为角色

MariaDB用户管理相关推荐

  1. Linux用户配置密码,linux用户配置文件passwd和密码配置文件shadow,用户管理,组管理...

    一.linux和windows互传文件 1.安装支持包:lrzszyum -y install   lrzszputty工具 不支持lrzsz 2.rz windows文件fail2ban-0.8.1 ...

  2. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    转载需经本人同意且标注本文原始地址:https://zhaomenghuan.github.io/blog/nodejs-eggjs-usersytem.html 前言 近来公司需要构建一套 EMM( ...

  3. Linux 之用户管理与文件权限

    Linux 之用户管理与文件权限 一. 1.查看系统版本    uname       uname -a      uname -r      uname -m 2.特点 :              ...

  4. 0521MySQL常用操作---设置更改root密码、数据库备份恢复、连接mysql、mysql用户管理...

    2019独角兽企业重金招聘Python工程师标准>>> 13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令 13.4 mysql用户管理 13.5 ...

  5. MySQL(管理)01 -- 用户User和权限Privileges<B.用户管理权限设置>

    2.用户管理和权限设置 用户管理分为几个方面,查看用户.创建用户.对用户授权.修改和删除用户.设置与更改用户密码.撤销用户权限等. 2.1.查看用户 查看用户并没有直接的SQL语句,而是进入 mysq ...

  6. Linux用户管理与远程管理

    Linux用户管理与远程管理 一.用户管理 1.回顾用户组管理 groupadd :组添加 groupmod:组修改 groupdel:组删除 与用户组相关的文件/etc/group,一共拥有4列 i ...

  7. crontab及用户管理

    用户管理 1 账户控制总述 账户作用 可登录操作系统 不同身份不同权限 基于账户身份对资源访问进行控制 账户类型: 用户账号 组账号 唯一标识: UID GID 用户组 超级用户root/系统用户/普 ...

  8. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计 1

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  9. dva + antd + mockjs 实现用户管理

    1.安装dva-cli npm install dva-cli -g 2.创建应用 dva new dvadashboard [dvadashboard为项目名] 3.安装mockjs npm ins ...

  10. Saltstack 用户管理

    最近测试组来了一大波,最为公司测试那必须要有qa环境,测试组老大跟我关系很好,他们组不少人对Linux也很了解,平时弄个东西啥的也能自己搞定,软磨硬泡加上最近真的很忙给他们配置了jenkins和开了q ...

最新文章

  1. JavaScript正则表达式test的用法
  2. 导入 sun.net.TelnetInputStream; 报错
  3. Go——cron定时任务Demo
  4. 【ARM】ARM汇编程序设计(五) str和ldr
  5. 2017计算机应用技术考研,2017年中国科学技术大学081203计算机应用技术考研专业目录与考试科目.docx...
  6. C#获得SQLServer服务器名、数据库名、表名、以及字段名
  7. 遭遇爆炸式匿名*** 瑞星称有人下黑手
  8. 全国大学生数学建模竞赛2018A题高温作业专用服装设计MATLAB程序
  9. PDF文件如何转JPG图片?简单三步轻松转换
  10. oracle 文本日期相减,日期相减等于整数的问题
  11. synchronized实现原理之---Moniter的实现原理
  12. 20165219 王彦博 实验五 网络编程与安全 实验报告
  13. Windows 10 ios download
  14. 物流小程序设计开发的功能明细与方案
  15. 在flex 2中直接显示sprit
  16. 物联网设备固件分析:Firmadyne固件模拟环境搭建
  17. 制药实验室信息管理系统(LIMS)
  18. 芯片破壁者(十六):德州仪器的“罗生门”
  19. MySQL插入数据 报错Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”问题
  20. 利用栈的基本操作,将十进制数转换为八进制数

热门文章

  1. Javascript中===和==的区别
  2. R语言并行计算的原理和案例
  3. R语言金融基础:tidyquant获取数据(标普500与纳斯达克)
  4. 实战案例:探索星巴克的世界分布
  5. Gitlab分支保护
  6. JavaWeb学习之三层架构实例(二)
  7. slf4j log4j logback关系详解和相关用法
  8. Kia#39;s Calculation(贪心)
  9. 蘑菇街基于Docker的私有云实践
  10. 震精 - PostgreSQL 递归查询 - 树型数据按路径分组输出