mysql放开权限控制_mysql06---权限控制-阿里云开发者社区
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---权限控制-阿里云开发者社区相关推荐
- coba mysql_在Android Studio中将数据从MySQL数据库显示到TextView中-问答-阿里云开发者社区-阿里云...
我是新手,Android Studio我想将数据库(我使用MySQL)中的数据显示到中TextView.我也使用Button和RadioButton.单击按钮后,数据将显示在中TextView.这是我 ...
- bae 3.0 mysql_bae3.0 mysql 有时报错?报错-问答-阿里云开发者社区-阿里云
Jfinal 用的MySQL的数据源:MysqlDataSource ds = new MysqlDataSource(); Config: MysqlDataSource ds = new Mysq ...
- mysql 提高事物效率_怎么提高向mysql中插入数据的效率-问答-阿里云开发者社区-阿里云...
String[] filelist = file.list(); for(String filename : filelist){ BufferedReader br = new BufferedRe ...
- 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, ...
- mysql 触发器trigeer_MySQL触发器trigger的使用-阿里云开发者社区
Q:什么是触发器? A: 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合. 触发器的特性: 1.有begin end体,begin end;之间的语句可以写的简单或者 ...
- 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下 ...
- 阿里云 mysql日志分析_mysql 慢日志分析-阿里云开发者社区
启用 slow log 有两种启用方式: 1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queri ...
- mysql sql rowcount_ORACLE中的SQL%ROWCOUNT与MySQL中的ROW_COUNT()的一点异同-阿里云开发者社区...
MySQL的ROW_COUNT()和ORACLE中的SQL%ROWCOUNT函数作用并不完全相同.从作用上来说,两者都是返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数,但 ...
- mysql官方读写性能_mysql读写性能测试-阿里云开发者社区
概述和测试环境 压测的目的是为了尽量模拟真实情况.测试的表都是由10个int型字段和10个字符串型字段组成.每个测试项目都测试了myisam和innodb两个引擎.测试的方法都是用两个线程并发,一共跑 ...
- freebsd mysql 安装_Freebsd中mysql安装及使用笔记-阿里云开发者社区
Freebsd中mysql安装及使用笔记 x3d 2009-07-31 662浏览量 简介: 1.安装 一开始连mysql的软件包在freebsd中叫什么都不知道: 依稀属于databases类,先到 ...
最新文章
- cannot find package “github.com/json-iterator/go“cannot find package “github.com/modern-go/reflect2“
- 删除Win7隐藏的系统分区
- 怎么把写好的python代码打包成exe-【Python之点到为止】如何优雅的将你的代码打包成EXE...
- linux系统的学习经验首篇
- 中国三大轴承厂是 哪三家?
- Hive内置运算函数,自定义函数(UDF)和Transform
- shell shocked伴奏版_Shell Shocked
- leetcode 214 Shortest Palindrome
- java long.max_value,Long + Long不大于Long.MAX_VALUE
- 10.1 SQ03维护用户组
- 子类和父类对象在进行类型转换时_不一样的面向对象(三)
- 每天一道剑指offer-从上往下打印二叉树
- linux内核分析及应用 -- 输入输出(上)
- 【电商吧 - 3】支付第一步,支付宝网页支付!
- Ubuntu 声卡解决办法合集
- BUUCTF:[ACTF新生赛2020]swp
- 有一种空格叫做--不间断空格(空格保存到数据库变成了问号)
- 5G科普——CU和DU分离
- LeetCode3:合并两个有序数组 给你两个有序数数组,nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组.
- JAVA中如何创建一个文件