/* 用户和权限管理 */ -----------

用户信息表:mysql.user

-- 刷新权限
FLUSH PRIVILEGES

-- 增加用户
CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串)
- 必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。
- 只能创建用户,不能赋予权限。
- 用户名,注意引号:如 'user_name'@'192.168.1.1'- 密码也需引号,纯数字密码也要加引号
- 要在纯文本中指定密码,需忽略PASSWORD关键词。要把密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD

-- 重命名用户
RENAME USER old_user TO new_user

-- 设置密码
SET PASSWORD = PASSWORD('密码') -- 为当前用户设置密码
SET PASSWORD FOR 用户名 = PASSWORD('密码') -- 为指定用户设置密码

-- 删除用户
DROP USER 用户名

-- 分配权限/添加用户
GRANT 权限列表 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password']
- all privileges 表示所有权限
- *.* 表示所有库的所有表
- 库名.表名 表示某库下面的某表

-- 查看权限
SHOW GRANTS FOR 用户名 -- 查看当前用户权限
SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER();

-- 撤消权限
REVOKE 权限列表 ON 表名 FROM 用户名

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名-- 撤销所有权限

-- 权限层级

-- 要使用GRANT或REVOKE,您必须拥有GRANT OPTION权限,并且您必须用于您正在授予或撤销的权限。

全局层级:全局权限适用于一个给定服务器中的所有数据库,mysql.user

GRANT ALL ON *.*和 REVOKE ALL ON *.*只授予和撤销全局权限。

数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host
GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限。

表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv
GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限。

列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv

当使用REVOKE时,您必须指定与被授权列相同的列。

-- 权限列表
ALL [PRIVILEGES] -- 设置除GRANT OPTION之外的所有简单权限

ALTER -- 允许使用ALTER TABLE
ALTER ROUTINE -- 更改或取消已存储的子程序
CREATE -- 允许使用CREATE TABLE
CREATE ROUTINE -- 创建已存储的子程序
CREATE TEMPORARY TABLES -- 允许使用CREATE TEMPORARY TABLE

CREATE USER -- 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW -- 允许使用CREATE VIEW
DELETE -- 允许使用DELETE
DROP -- 允许使用DROP TABLE
EXECUTE -- 允许用户运行已存储的子程序

FILE -- 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
INDEX -- 允许使用CREATE INDEX和DROP INDEX
INSERT -- 允许使用INSERT
LOCK TABLES -- 允许对您拥有SELECT权限的表使用LOCK TABLES
PROCESS -- 允许使用SHOW FULL PROCESSLIST

REFERENCES -- 未被实施
RELOAD -- 允许使用FLUSH
REPLICATION CLIENT -- 允许用户询问从属服务器或主服务器的地址
REPLICATION SLAVE -- 用于复制型从属服务器(从主服务器中读取二进制日志事件)
SELECT -- 允许使用SELECT

SHOW DATABASES -- 显示所有数据库
SHOW VIEW -- 允许使用SHOW CREATE VIEW
SHUTDOWN -- 允许使用mysqladmin shutdown
SUPER -- 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
UPDATE -- 允许使用UPDATEUSAGE -- “无权限”的同义词
GRANT OPTION -- 允许授予权限

/* 表维护 */

-- 分析和存储表的关键字分布
ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE 表名 ...

-- 检查一个或多个表是否有错误
CHECK TABLE tbl_name [, tbl_name] ... [option] ...
option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}

-- 整理数据文件的碎片
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

/* 杂项 */ ------------------
1. 可用反引号(`)为标识符(库名、表名、字段名、索引、别名)包裹,以避免与关键字重名!中文也可以作为标识符!

2. 每个库目录存在一个保存当前数据库的选项文件db.opt。

3. 注释: 单行注释 # 注释内容 多行注释 /* 注释内容 */ 单行注释 -- 注释内容 (标准SQL注释风格,要求双破折号后加一空格符(空格、TAB、换行等))

4. 模式通配符: _ 任意单个字符
% 任意多个字符,甚至包括零字符 单引号需要进行转义 \'

5. CMD命令行内的语句结束符可以为 ";", "\G", "\g",仅影响显示结果。其他地方还是用分号结束。delimiter 可修改当前对话的语句结束符。
6. SQL对大小写不敏感
7. 清除已有语句:\c

(剧终)           (作者:Shocker 来源:http://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html)

转载于:https://www.cnblogs.com/Grace7582/p/4743690.html

一千行MySQL学习笔记(十二)相关推荐

  1. [转]一千行MySQL学习笔记

    Shocker /* 启动MySQL */ net start mysql/* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL * ...

  2. 一千行 MySQL 学习笔记,值得大家收藏!

    点击上方"Java学习之道",选择"关注"公众号 每天10:24,干货准时送达! 本文转载自:https://tinyurl.com/y3ua6bqf 作者:格 ...

  3. 一千行 MySQL 学习笔记,看完就会了

    /* Windows服务 */ -- 启动MySQLnet start mysql -- 创建Windows服务sc create mysql binPath= mysqld_bin_path(注意: ...

  4. 一千行MySQL学习笔记

    /* 启动MySQL */ net start mysql/* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */ mysqld ...

  5. 一千行 MySQL 学习笔记

    点击上方"程序员江湖",选择"置顶或者星标" 你关注的就是我关心的! 做者:格物 原文地址:https://shockerli.net/post/1000-li ...

  6. 不藏了,我的一千行 MySQL 学习笔记(2万字长文)

    来源:https://shockerli.net/post/1000-line-mysql-note/ 作者:格物 Windows服务 -- 启动MySQLnet start mysql -- 创建W ...

  7. 『转』一千行MySQL学习笔记

    1 /* 启动MySQL */ 2 net start mysql 3 4 /* 连接与断开服务器 */ 5 mysql -h 地址 -P 端口 -u 用户名 -p 密码 6 7 /* 跳过权限验证登 ...

  8. 一千行MySQL学习笔记(MySQL常见SQL语句全详解)

    /* 启动MySQL */ net start mysql/* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */ mysqld ...

  9. Python语言入门这一篇就够了-学习笔记(十二万字)

    Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...

最新文章

  1. java-mybaits-00101-基础安装配制
  2. Apache Oltu 实现 OAuth2.0 服务端【授权码模式(Authorization Code)】
  3. 【C 语言】C 字符串 ( 表示方法 | strcpy | strcat | strlen | strcmp )
  4. SSM中进行Junit单元测试时无法注入service
  5. UE4_下载源码并编译
  6. SBUS协议数据演示
  7. HTTP请求/响应原理
  8. java gps解析_GPS经纬度可以用来Java解析
  9. 我是一个粉刷匠用计算机弹,《我是一个粉刷匠》,钢琴双手弹的谱子,,,急用,,,谢谢...
  10. web网页qq客服功能
  11. 老照片瞬间修复神器!快帮你家的长辈恢复照片去吧
  12. 如何准备机器学习数据集_机器学习演练第一部分:准备数据
  13. 三星android7要更新8,三星Bixby Voice将停止支持安卓7.0/8.0,用户可以升级系统使用...
  14. C++ 单例模式学习(Singleton)
  15. 车载冰箱E-mark认证要多长时间?
  16. 关于小程序widthFix图片高度不能自适应的问题
  17. I Need Some Sleep / Eels
  18. QT QGraphicsItem飞舞的蝴蝶
  19. 中兴美国事件回顾:崛起的骄傲与威胁
  20. 图神经网络(五):GAT

热门文章

  1. 快速排序的时间复杂度分析
  2. 【快乐水题】1716. 计算力扣银行的钱
  3. @EnableDiscoveryClient
  4. python中的 and以及or
  5. STM32F4 HAL库开发 -- NVIC 中断优先级管理
  6. 汇编语言MOVZX和MOVSX指令
  7. pc端vnc连接android 端
  8. 看穿机器学习(W-GAN模型)的黑箱
  9. 深入了解以太坊虚拟机第4部分——ABI编码外部方法调用的方式
  10. 深入理解Linux内存管理--目录导航