用户和权限管理

Information about account privileges is stored in the user, db, host, tables_priv, columns_priv, and procs_priv tables in the mysql database.  The MySQL server reads the contents of these tables into memory when it starts and reloads them under the circumstances. Access-control decisions are based on the in-memory copies of the grant tables.

user: Contains user accounts, global privileges, and other non-privilege columns.
user: 用户帐号、全局权限、其他非权限字段

db: Contains database-level privileges.
db: 库级别权限

host: Obsolete.
host: 废弃

tables_priv: Contains table-level privileges.
表级别权限

columns_priv: Contains column-level privileges.
列级别权限

procs_priv: Contains stored procedure and function privileges.
存储过程和存储函数相关的权限

proxies_priv: Contains proxy-user privileges.
代理用户权限

There are several distinctions between the way user names and passwords are used by MySQL and the way they are used by your operating system:

User names, as used by MySQL for authentication purposes, have nothing to do with user names (login names) as used by Windows or Unix.
    MySQL user names can be up to 16 characters long.
    The server uses MySQL passwords stored in the user table to authenticate client connections using MySQL native authentication (against passwords stored in the mysql.user table).
    MySQL encrypts passwords stored in the user table using its own algorithm. This encryption is the same as that implemented by the PASSWORD() SQL function but differs from that used during the Unix login process.
    It is possible to connect to the server regardless of character set settings if the user name and password contain only ASCII characters.

用户帐号:
    用户名@主机
        用户名:16字符以内
        主机:
            主机名:www.magedu.com, mysql
            IP: 172.16.10.177
            网络地址:
                172.16.0.0/255.255.0.0

通配符:%,_
                172.16.%.%
                %.magedu.com

--skip-name-resolve   略过名称(主机名)解析,提高用户连接的速度

权限级别:
    全局级别: SUPER、
    库
    表: DELETE, ALTER, TRIGGER
    列: SELECT, INSERT, UPDATE
    存储过程和存储函数

字段级别:

临时表:内存表
    heap: 16MB

触发器:主动数据库
    INSERT, DELETE, UPDATE
        user: log

创建用户:
CREATE USER username@host [IDENTIFIED BY 'password']

GRANT 授权时用户不存在则创建新用户
GRANT ALL PRIVILEGES ON [object_type] db.* TO username@'%';

TABLE
  | FUNCTION
  | PROCEDURE

GRANT EXECUTE ON FUNCTION db.abc TO username@'%';

创建用户:不会自动读取授权表
INSERT INTO mysql.user
mysql> FLUSH PRIVILEGES;

查看用户相关的授权信息:
SHOW GRANTS FOR 'username@host';

GRANT OPTION
  | MAX_QUERIES_PER_HOUR count
  | MAX_UPDATES_PER_HOUR count
  | MAX_CONNECTIONS_PER_HOUR count
  | MAX_USER_CONNECTIONS count

--skip-grant-tables  跳过授权表
--skip-name-resolve  略过名称(主机名)解析,提高用户连接的速度
--skip-networking    跳过网络,只能通过本机连接

DROP USER 'username'@'host' 删除用户

RENAME USER old_name TO new_name 重命名用户

REVOKE 收回权限

管理员密码忘记找回:
启动mysqld_safe时传递两个参数:
    --skip-grant-tables
    --skip-networking 跳过网络,只能通过本机连接

set password for 'root'@'localhost' IDENTIFIED by 'passed'  --此方法不行,因为跳过了授权表
    update user set password=password('passed') where USER = 'root'
    通过更新授权表方式直接修改其密码,而后移除此两个选项重启服务器。

mysql用户和权限管理的更多相关文章

  1. Mysql 用户,权限管理的几点理解。

    前两天项目数据库要移植到mysql,为此临时抓了几天很久没用的mysql. 公司的数据库比较简单,从oracle迁移到mysql很简单,但是,中间的权限管理让我感觉既简单又复杂..简单是因为网上关于m ...

  2. mysql 用户及权限管理 小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  3. MySQL Study之--MySQL用户及权限管理

    MySQL Study之--MySQL用户及权限管理     MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...

  4. MySQL用户与权限管理

    执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...

  5. Mysql 用户和权限管理

    用户和权限管理: 语法 grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang' ...

  6. MariaDB/MySQL用户和权限管理

    本文目录: 1.权限验证 1.1 权限表 1.2 图解认证和权限分配的两个阶段 1.3 权限生效时机 2.用户管理 2.1 创建用户 2.2 create user和alter user 2.3 记录 ...

  7. mysql用户与权限管理笔记

    今天想使用一下李刚那本书上的hibernate的Demo,试出了点问题,过程中就发现mysql的用户管理和权限管理上也有点东西要注意,所以顺便就写一下mysql用户管理和权限管理的笔记. 先说一说my ...

  8. (九)MySQL用户和权限管理

    (1)用户管理 1)登录和退出mysql 例: mysql -h192.168.111.150 -P3306 -uroot -predhat mysql -e 'select user,host,au ...

  9. MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,而且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包括2个阶段,一是server检查是否同意你连接:二是假定你能连接,se ...

随机推荐

  1. js练习【DOM操作】

    完成效果: 演示地址:http://codepen.io/anon/pen/jPbYWq HTML: <!DOCTYPE html> <html lang="en" ...

  2. [原创作品]html css改变浏览器选择文字的背景和颜色

    又很久没有'剥壳'了,最近在为一家公司做一个生产管理解决方案.所以都很忙.今天的话题很简单,就做一个很简单的网页特效.今天偶然浏览到一个网站,他们在选择文字时,样子不是蓝背景和白色字体那么单调,感觉这 ...

  3. c++11 NULL、0、nullptr

      C的NULL 在C语言中,我们使用NULL表示空指针,也就是我们可以写如下代码: int *i = NULL;foo_t *f = NULL; 实际上在C语言中,NULL通常被定义为如下: #de ...

  4. mysql常用操作(转自阿铭linux)

    在前面两个章节中已经介绍过MySQL的安装了,但是光会安装还不够,您还需要会一些基本的相关操作.当然了,关于MySQL的内容也是非常多的,只不过对于linux系统管理员来讲,一些基本的操作已经可以应付 ...

  5. python - 类的特殊成员

    class Foo: #构造方法 def __init__(self,name,age): pass self.name = name self.age = age def __str__(self) ...

  6. ORACLE函数详解【weber出品】

    一.什么是函数 一个函数: 1. 是命名的PL/SQL块,必须返回一个值 2. 可以存储到数据库中重复执行 3. 可以作为表达式的一部分或者提供一个参数值 二.创建函数的语法 必须至少有一个返回值,创 ...

  7. Ztree中simpleData是怎么转换成标准ztree数组对象的

    今天遇到一个自己构造树的情况,树是动态的,预先不知道根节点,用的是easyUI中的tree,于是参考了下Ztree中的实现,恍然大悟,遂记之: transformTozTreeFormat: func ...

  8. table超过30个字段如何处理呢? bootstrap

    样式: @media (max-width: 768px) { .table-supplier { width: 100%; height: 100%; margin-bottom: 12.75px; ...

  9. android控制之 adb shell (已完成,不定期增加内容)

    第一步:首先,下载adb1.0.32.zip,里面有如下图的内容: 第二步:解压缩,复制Adb.exe,和fastboot.exe到System32,注意AdbWinUsbApi.dll,AdbWin ...

  10. hdu1054 树状dp

    B - 树形dp Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:10000KB     64bit ...