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的权限控制可以精确到列,常用的授权项,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql php释放内存_php mysqli_free_result()函数释放结果集

mysqli_free_result()介绍php mysqli_free_result()函数用于释放查询出来的数据结果集,这样有利于及时清理内存。语法:mysqli_free_result(result);参数:参数描述result必需。数据结果集(由mysqli_query()所返回)mysqli_free_result()实例1、…

mysql乱码问题_mysql乱码问题

mysql乱码问题出现乱码的原因:因为当前的CMD客户端窗口与数据库本身及库,表的编码格式不一致导致的。所以当出现乱码的时候,请排查:* sql文件的编码格式* 当前CMD客户端窗口的编码格式* 数据库服务本身的编码格式* 数据库的编码格…

mysql的纵向扩展方案_SQL Server横向扩展方案-SODA

SQL Server横向扩展方案-SODA每次在提到SQL Server扩展性问题的时候,似乎很多的SQL Server DBA或者使用微软技术开发的朋友心里总是一整痛:SQL Server只能纵向的扩展(Scaling-Up),无法横向的扩展(Scaling-Out)。每次有人提到Oracle和SQL Serv…

python的功能名称_ML获取功能选择后的功能名称SelectPercentile,python

我已经为这件事挣扎了一段时间了。我的目标是获取一个文本特征,并从中找出5-10个最好的单词来帮助我分类。因此,我正在运行一个TfIdfVectorizer,现在选择~90最佳。然而,当我缩小了特性数量之后,我无法看到实际选择了哪…

python编程竞赛规则_用python实行羽毛球比赛规则。

羽毛球比赛规则:1、21分制,三局两胜为佳2、每球得分制3、每回合中取胜的一方的一分4、双方均为20分时,领先对方2分一方获胜5、双方均为29分时,先到达30分一方获胜6、一局比赛中获胜方在下一局率先开球代码如下:from ra…

使用python下载文件的简单示例_Python

简单的FTP下载 ,不加任何异常判断。import osfrom ftplib import FTPftp_addr 10.10.0.1fFTP(ftp_addr)f.login(anonymous)f.cwd("apk_download/")remote_file 20141223140651.apkf.retrbinary("RETR %s" % remote_file, open(remote_file, &…

mysql8.0.11启动不了_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法

转:https://blog.csdn.net/iyayaqiqi/article/details/80536110系统环境:win10(1803),64位MySQL版本:8.0.11免安装版MySQL下载地址:https://dev.mysql.com/downloads/mysql,在下载页面往下拉,选择自己的操作…

mysql 建立索引的例子_mysql建立合适的索引的例子

在mysql数据库中,其实建索引也是一门学问,一个表中,索引并不是越多越好,而是适合你的业务才最重要。那么建立索引的时候,我们应该从以下几点去考量。1. 索引字段越小越好,像varchar(10)肯定比text类型的效果…

mysql有没有类似merge_有关于Mysql的MERGE表类型

有关于Mysql的MERGE表类型他将多个表在逻辑上当作一个表来查询。他建立后有两个文件,.frm 表结构定义.mrg union表的名字清单两个基本表:CREATE TABLE TEST_MERGE_1(ID INT(5) NOT NULL,VALUE VARCHAR(100) NOT NULL,PRIMARY KEY(ID))CREATE TABLE TEST_MERGE_2(ID …

python爬虫数据可视化软件_python爬虫及数据可视化分析

1.前言本篇文章主要介绍python爬虫及对爬取的数据进行可视化分析,本次介绍所用的网站是(https://www.duanwenxue.com/jingdian/zheli/)2.数据爬取2.1定位到爬取数据打开我们要爬取的网页,右键选择检查,在窗口中单击左上角箭头,即可…

mysql同表字段前4位复制_MySQL不同表之前的字段复制

有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写:UPDATE tb_1 SET content_target content_source;大概写法如下:Update {your_table} set {source_field} {object_field} WHE…

php mysql购物车实现原理_PHP实现购物车的思路和源码分析

这里主要是记录下自己的购物车的思路,具体功能实现,但是尚未在实际项目中用到,不对之处欢迎指正项目中需要添加购物车。目录说明buy.php 点击购买之后的操作car.php 购物车,显示购买的东西conn.php 数据库连接参数delete.php 删除…

java 文件目录_Java——文件及目录File操作

packagefile;importjava.io.File;/*** 删除文件和目录**/public classDeleteFileUtil {/*** 删除文件,可以是文件或文件夹**paramfileName* 要删除的文件名*return删除成功返回true,否则返回false*/public static booleandelete(String fileName) {File …

java 对象池 实现_Java对象池技术的原理及其实现

看到一片有关于java 对象基础知识,故转载一下,同时学习一下。摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。关键词 对象池;对象池技术;Java…

java heap 参数_java heap space解决方法和JVM参数设置

因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。在网上一查可能是JAVA的堆栈设置太小的原因。跟据网上的答案大致有这两种解决方法:1、设置环境变量set JAVA_OPTS -Xms32m -Xmx512…

java 进程崩溃_java程序崩溃自启脚本

java程序崩溃自启脚本教程1.将java程序崩溃自启脚本下载下来,放入项目的同级目录,将proc_name"xxx.jar" 更改成对应的名称2.chmod 777 文件 给于权限3.将想要jar程序停止 执行./test.sh 如果出现-bash: ./practice1.sh: /bin/bash^M: bad interpreter: No such file…

java程序流程控制_java程序流程控制

顺序结构分支结构(条件结构)循环结构控制循环结构顺序结构:如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。if语句:基本语法:if(表达式){方法体}else if(表达式){方…

java调用c视频接口_JAVA本地调用(JNI- java调用c)

记录一下工作内容,对术语了解不多,暂且这样记着吧。java调用c一、写jni的步骤如下:1.创建java类,定义接口函数,使用native修饰;2.将java类编译成class;3.将class编译成*.h头文件;4.在…

java 随机 数字 字母组合_java生成随机数字和字母组合

import java.util.Random;public String getCharAndNumr(int length){String val "";Random random new Random();for(int i 0; i < length; i){String charOrNum random.nextInt(2) % 2 0 ? "char" : "num"; // 输出字母还是数字if(&q…

java 声明抽象方法_java – 类必须声明为abstract或实现抽象方法错误

这是我的代码,假设在按下按钮时更改一些文本&#xff1a; –public class MyActivity extends ActionBarActivity {TextView txtview;Button butto;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.…