mysql权限管理:

mysql的权限控制,首先在user表判断有没有权限连,连上后看有没有全局权限。然后看db表有哪些库级别的权限。然后看tables_priv表有哪些表级别的权限。最后还可以看有哪些列级别的权限。

mysql权限检查:1.有没有权连接上来2.有没有权执行操作(crud)

服务器是如何判断用户有没有权限连接上来:1.你从哪里来,host2.你是谁,user

3.你的密码

用户的这3个信息存储在mysql数据库的user表下

mysql> usemysql

mysql> desc user;

mysql> select Host,User from user;+-----------+---------------+

| Host | User |

+-----------+---------------+

| localhost | mysql.session |mysql.session用户必须从localhost连接| localhost | mysql.sys |mysql.sys用户必须从localhost连接| localhost | root |root用户必须从localhost连接+-----------+---------------+

就算知道用户名和密码,但是可以限制ip。

修改user的host域,update user set host="192.168.1.101" where user='root';

flushprivileges; 冲刷权限,

如何修改用户的密码:update user set password=passwiord('111111') where user='root'flushprivileges;

mysql库下有一个db表,

用户连上来先通过user表,看能不能进来,然后经过db表判断有没有某个库的操作权,然后通过tables_priv判断有没有库下哪个表的权限。//新增一个用户,grant[权限1,权限2,权限3......] on 哪个库.哪个表 to 用户@'host' identified by 'password'常用权限all(所有权限),creat,drop,insert,delete,update,selectmysql> grant all on *.* to lisi@'127.0.0.1' identified by '111111';

Query OK,0rows affected

mysql> select Host,User from user;+-----------+---------------+

| Host | User |

+-----------+---------------+

| 127.0.0.1 | lisi |

| localhost | mysql.session |

| localhost | mysql.sys |

| localhost | root |

+-----------+---------------+

C:\Users\Administrator>mysql -h127.0.0.1 -ulisi -p //用户lisi登陆

Enter password:******Welcometo the MySQL monitor. Commands end with ; or\g.

Your MySQL connection idis 8Server version:5.7.20MySQL Community Server (GPL)

mysql> select * from user where user='lisi'\G;*************************** 1. row ***************************Host:127.0.0.1

User: lisi

Select_priv: Y

Insert_priv: Y

Update_priv: Y

Delete_priv: Y

Create_priv: Y

Drop_priv: Y

Reload_priv: Y

Shutdown_priv: Y

Process_priv: Y

File_priv: Y

Grant_priv: N

References_priv: Y

Index_priv: Y

Alter_priv: Y

Show_db_priv: Y

Super_priv: Y

Create_tmp_table_priv: Y

Lock_tables_priv: Y

Execute_priv: Y

Repl_slave_priv: Y

Repl_client_priv: Y

Create_view_priv: Y

Show_view_priv: Y

Create_routine_priv: Y

Alter_routine_priv: Y

Create_user_priv: Y

Event_priv: Y

Trigger_priv: Y

Create_tablespace_priv: Y

ssl_type:

ssl_cipher:

x509_issuer:

x509_subject:

max_questions:0max_updates:0max_connections:0max_user_connections:0plugin: mysql_native_password

authentication_string:*FD571203974BA9AFE270FE62151AE967ECA5E0AA

password_expired: N

password_last_changed:2017-12-29 21:30:25password_lifetime:NULLaccount_locked: N1 row in set (0.00sec)//收回权限,revoke all on *.* from lisi@'127.0.0.1',

mysql> revoke all on *.* from lisi@'127.0.0.1';

Query OK,0rows affected

mysql> select * from user where user='lisi'\G;*************************** 1. row ***************************Host:127.0.0.1

User: lisi

Select_priv: N

Insert_priv: N

Update_priv: N

Delete_priv: N

Create_priv: N

Drop_priv: N

Reload_priv: N

Shutdown_priv: N

Process_priv: N

File_priv: N

Grant_priv: N

References_priv: N

Index_priv: N

Alter_priv: N

Show_db_priv: N

Super_priv: N

Create_tmp_table_priv: N

Lock_tables_priv: N

Execute_priv: N

Repl_slave_priv: N

Repl_client_priv: N

Create_view_priv: N

Show_view_priv: N

Create_routine_priv: N

Alter_routine_priv: N

Create_user_priv: N

Event_priv: N

Trigger_priv: N

Create_tablespace_priv: N

ssl_type:

ssl_cipher:

x509_issuer:

x509_subject:

max_questions:0max_updates:0max_connections:0max_user_connections:0plugin: mysql_native_password

authentication_string:*FD571203974BA9AFE270FE62151AE967ECA5E0AA

password_expired: N

password_last_changed:2017-12-29 21:30:25password_lifetime:NULLaccount_locked: N1 row in set (0.00sec)

mysql库下面的user里面可以检测能不能登陆,并且里面的权限是全局的,所有库所有表的。//不是全局授权,而是分库分表管理权限。grant all on test3.* to lidi@'127.0.0.1'; //给lisi test3库所有表的所有权限。//针对某个表做授权grant creat,drop,insert,update,select on test3.goods to lisi@'127.0.0.1';//test3库的goods表做权限控制,//数据库级别的权限在db表中,表级别的权限在tables_priv表中。

mysql> select * from db \G; //哪个用户在哪个库哪个主机有哪些权限*************************** 1. row ***************************Host: localhost

Db: performance_schemaUser: mysql.session

Select_priv: Y

Insert_priv: N

Update_priv: N

Delete_priv: N

Create_priv: N

Drop_priv: N

Grant_priv: N

References_priv: N

Index_priv: N

Alter_priv: N

Create_tmp_table_priv: N

Lock_tables_priv: N

Create_view_priv: N

Show_view_priv: N

Create_routine_priv: N

Alter_routine_priv: N

Execute_priv: N

Event_priv: N

Trigger_priv: N*************************** 2. row ***************************Host: localhost

Db: sysUser: mysql.sys

Select_priv: N

Insert_priv: N

Update_priv: N

Delete_priv: N

Create_priv: N

Drop_priv: N

Grant_priv: N

References_priv: N

Index_priv: N

Alter_priv: N

Create_tmp_table_priv: N

Lock_tables_priv: N

Create_view_priv: N

Show_view_priv: N

Create_routine_priv: N

Alter_routine_priv: N

Execute_priv: N

Event_priv: N

Trigger_priv: Y*************************** 4. row ***************************Host:127.0.0.1Db: test2User: lisi

Select_priv: Y

Insert_priv: Y

Update_priv: Y

Delete_priv: Y

Create_priv: Y

Drop_priv: Y

Grant_priv: N

References_priv: Y

Index_priv: Y

Alter_priv: Y

Create_tmp_table_priv: Y

Lock_tables_priv: Y

Create_view_priv: Y

Show_view_priv: Y

Create_routine_priv: Y

Alter_routine_priv: Y

Execute_priv: Y

Event_priv: Y

Trigger_priv: Y4 rows in set (0.00sec)

mysql> select * fromtables_priv \G;*************************** 1. row ***************************Host: localhost

Db: mysqlUser: mysql.session

Table_name:userGrantor: boot@connectinghostTimestamp: 0000-00-00 00:00:00Table_priv:SelectColumn_priv:*************************** 2. row ***************************Host: localhost

Db: sysUser: mysql.sys

Table_name: sys_config

Grantor: root@localhost

Timestamp: 2017-12-25 15:09:21Table_priv:SelectColumn_priv:*************************** 3. row ***************************Host:127.0.0.1Db: test3User: lisi

Table_name: goods

Grantor: root@localhost

Timestamp: 0000-00-00 00:00:00Table_priv:Select,Insert,Update,Create,DropColumn_priv:3 rows in set (0.00sec)//mysql的权限控制可以精确到列,常用的授权项,

mysql放开权限控制_mysql06---权限控制-阿里云开发者社区相关推荐

  1. coba mysql_在Android Studio中将数据从MySQL数据库显示到TextView中-问答-阿里云开发者社区-阿里云...

    我是新手,Android Studio我想将数据库(我使用MySQL)中的数据显示到中TextView.我也使用Button和RadioButton.单击按钮后,数据将显示在中TextView.这是我 ...

  2. bae 3.0 mysql_bae3.0 mysql 有时报错?报错-问答-阿里云开发者社区-阿里云

    Jfinal 用的MySQL的数据源:MysqlDataSource ds = new MysqlDataSource(); Config: MysqlDataSource ds = new Mysq ...

  3. mysql 提高事物效率_怎么提高向mysql中插入数据的效率-问答-阿里云开发者社区-阿里云...

    String[] filelist = file.list(); for(String filename : filelist){ BufferedReader br = new BufferedRe ...

  4. xml文件导入mysql_如何使用XML_LOAD()将XML文件导入MySQL数据库表;功能?mysql-问答-阿里云开发者社区-阿里云...

    我有一个看起来像这样的XML文件: 539 Name Surname email.domain.com 2011-04-02 13:30:00 2011-04-02 18:15:00 1,2,4,5, ...

  5. mysql 触发器trigeer_MySQL触发器trigger的使用-阿里云开发者社区

    Q:什么是触发器? A: 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合. 触发器的特性: 1.有begin end体,begin end;之间的语句可以写的简单或者 ...

  6. perl dbi mysql 参数_perl dbi mysql-值精度 -问答-阿里云开发者社区-阿里云

    user @ host:〜# mysql -V -mysql Ver 14.14 Distrib 5.7.25-28,用于debian-linux-gnu(x86_64),使用在debian-9,9下 ...

  7. 阿里云 mysql日志分析_mysql 慢日志分析-阿里云开发者社区

    启用 slow log 有两种启用方式: 1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queri ...

  8. mysql sql rowcount_ORACLE中的SQL%ROWCOUNT与MySQL中的ROW_COUNT()的一点异同-阿里云开发者社区...

    MySQL的ROW_COUNT()和ORACLE中的SQL%ROWCOUNT函数作用并不完全相同.从作用上来说,两者都是返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数,但 ...

  9. mysql官方读写性能_mysql读写性能测试-阿里云开发者社区

    概述和测试环境 压测的目的是为了尽量模拟真实情况.测试的表都是由10个int型字段和10个字符串型字段组成.每个测试项目都测试了myisam和innodb两个引擎.测试的方法都是用两个线程并发,一共跑 ...

  10. freebsd mysql 安装_Freebsd中mysql安装及使用笔记-阿里云开发者社区

    Freebsd中mysql安装及使用笔记 x3d 2009-07-31 662浏览量 简介: 1.安装 一开始连mysql的软件包在freebsd中叫什么都不知道: 依稀属于databases类,先到 ...

最新文章

  1. cannot find package “github.com/json-iterator/go“cannot find package “github.com/modern-go/reflect2“
  2. 删除Win7隐藏的系统分区
  3. 怎么把写好的python代码打包成exe-【Python之点到为止】如何优雅的将你的代码打包成EXE...
  4. linux系统的学习经验首篇
  5. 中国三大轴承厂是 哪三家?
  6. Hive内置运算函数,自定义函数(UDF)和Transform
  7. shell shocked伴奏版_Shell Shocked
  8. leetcode 214 Shortest Palindrome
  9. java long.max_value,Long + Long不大于Long.MAX_VALUE
  10. 10.1 SQ03维护用户组
  11. 子类和父类对象在进行类型转换时_不一样的面向对象(三)
  12. 每天一道剑指offer-从上往下打印二叉树
  13. linux内核分析及应用 -- 输入输出(上)
  14. 【电商吧 - 3】支付第一步,支付宝网页支付!
  15. Ubuntu 声卡解决办法合集
  16. BUUCTF:[ACTF新生赛2020]swp
  17. 有一种空格叫做--不间断空格(空格保存到数据库变成了问号)
  18. 5G科普——CU和DU分离
  19. LeetCode3:合并两个有序数组 给你两个有序数数组,nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组.
  20. JAVA中如何创建一个文件

热门文章

  1. ECS云资源可视化--资源概览
  2. 一张图看懂阿里云网络产品[十一]云托付
  3. 浅述 Docker 的容器编排
  4. python交叉编译的配置 脚本怎么写_如何写一个简单的脚本并配置
  5. oracle导出命令位置,ORACLE 导出导入命令说明
  6. uniapp 微信小程序打包发布
  7. JavaScript从入门到放弃 -(二)继承
  8. async 异步编程的应用
  9. 【算法】Hash实现环形链表【LeetCode】
  10. mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...