mysql由浅入深探究(二)----mysql用户操作
上一节我们完成了mysql的安装,现在我们将开启实战模式,完成一些基本的mysql操作。这节我们分为一些几个内容:
- mysql中用户新建
- mysql中用户删除
- mysql中用户修改
- mysql中用户查看
接下来的几章的内容分布都是按照这个模式进行的----增删改查,这也是数据库的本质。
- mysql中用户的新建:我们不是创建了root用户了吗?为什么还需要创建用户,原因很简单,就像linux一样,有了root,但是还是需要创建其他用户,因为root的权限太高,很多操作我们并不希望所有的用户都有权限执行。其实就是起到一个权限控制的作用。
我们先查看一下mysq.user的表结构(由于属性太多,采用命令select * from mysql.user\G来输出)
可以看到其中有很多参数,select_privilege表达的是查询的权限。
新增加一个用户: insert into mysql.user(Host,User,Password) values("localhost","libo",password("***"));
同样的方式,我们通过命令查看,可以发现新建的用户我们没有任何权限,所有权限属性都是N, 那是不是现在我们没有对数据库操作的任何权限呢?
但是如果我们此时直接使用用新建的用户登陆mysql的话会提示错误:ERROR 1045 (28000): Access denied for user 'libo'@'localhost' (using password: YES),这是为什么?因为mysql不支持热启动,我们在新建用户的或者是进行用户权限的操作时,其实mysql并没有察觉到这个变化,所以我们使用flush privileges加载这个权限更改。
但是登陆之后可以发现,我们并没有权限来操作数据库,新建也不行。
localhost权限问题: 如果我们在创建用户时,我们制定的第一个参数是localhost,那么我们就只能在本地进行登陆,远程无法使用该用户进行登陆,如果想要远程登陆,那么我们可以把这个参数改为%。
用户权限问题: 如何给新建的用户授予权限?语法如下:
grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
实验一下,我们刚才新建的用户libo并没有赋予任何权限,现在我们想要提供一些基本的新增的权限,那么我们可以这样写:
grant create on test.* to libo@localhost identified by "***";
下面我们再测试一下现在能不能新建表了。
现在发现我们具有了新增的权限,但是我们并没有删除的权限。
2. 用户删除操作:
语法:(其实和普通table同样的语法结构)delete fromt mysq.user where User="libo";
3. 用户修改操作:
语法: update mysq.user set Host="%" where User="***";
4. 用户查看操作:
语法: select * from mysql.user where user="***";
mysql由浅入深探究(二)----mysql用户操作的更多相关文章
- mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
- mysql由浅入深探究(一)----数据库简介与mysql安装
mysql简介: 首先谈到mysql,我们要知道这是一个开源的数据库,与开源对应的就是free,但这并不意味着其性能会比很差,mysql同样能支持千万级以上的大数据量,甚至更多.同时mysql还支持许 ...
- mysql 用init-connect+binlog实现用户操作追踪做access的ip的log记录
在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化.我们可以在这里获取用户的登录名称和thread的ID值.然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等 ...
- 高性能可扩展mysql 笔记(二)用户模型设计、用户实体表结构设计、设计范式
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.用户模型设计 电商羡慕中用户模型的设计涉及以下几个部分: 以电商平台京东的登录.注册页面作为例: ...
- Mysql基础(二):MySQL之存储引擎
目录 MySQL之存储引擎 1.MySQL存储引擎介绍 2.MySQL结构 3.MySQL存储引擎分类 4.存储引擎的使用 5.总结 MySQL之存储引擎 1.MySQL存储引擎介绍 MySQL中的数 ...
- mysql由浅入深探究(三)----mysql增删改查
通过前两节的学习,目前我们已经完成了数据库的安装,用户的创建及权限操作等相关操作,但是我们似乎我们只是隐隐约约接触到了数据库的一些基本操作,对数据库表还是比较陌生.那么现在我们呢开始了解一些数据库的一 ...
- mysql由浅入深探究(四)----mysql事务详解
什么是事务: 通俗的解释就是对数据库进行的一组完整的操作,这组完整的操作中包含一个或多个操作.解释的太low了,来点官方的:事务就是DBMS中执行的一个完整的逻辑单元,这个逻辑单元中包含一个或者多个操 ...
- MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL
MySQL provides privileges that apply in different contexts and at different levels of operation: Adm ...
- 0816关于MySQL的审计 init-connect+binlog实现用户操作追踪
转自:http://blog.sina.com.cn/s/blog_605f5b4f01013xkv.html mysql 用init-connect+binlog实现用户操作追踪 做access 的 ...
随机推荐
- android 服务与多线程
android服务是执行在UI主线程的.一下是代码demo: package com.example.testservice; import android.os.Bundle; import and ...
- sprint-boot @ComponentScan扫描多个包
使用@ComponentScan扫描多个包时, @ComponentScan({"ka","com"}) 注意包名不能为org,不然无法启动
- 无法远程连接阿里云的Mysql
问题描述:昨天使用阿里云安装了Mysql,无法远程连接,排除端口号错误.防火墙.Mysql权限问题后,最后发现是阿里云安全组规则限制问题: 解决方式: 1.访问阿里云控制台,实例-->管理 2. ...
- HDU 1005 Number Sequence:矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005 题意: 数列{f(n)}: f(1) = 1, f(2) = 1, f(n) = ( A*f(n ...
- Centos 6.3 编译安装Nginx+php+Mysql
1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp --dpo ...
- python基础-元组
操作元组 获取元组中的值 tup1 = ('高数','计算机',2008,2016) tup2 = (1,2,3,4,5,6,7) #和list的一样,同样取下标1,2,3,4的值 print(&qu ...
- python之网络编程(概述及SOCKET)
概述(TCP/IP协议是一个协议族): TCP/IP 协议按照四层怎么划分:链路层,网络层,传输层,应用层(实际上是四层) TCP/IP 协议按照七层怎么划分:物理层,数据链路层,网络层,传输层,会话 ...
- 解决 sublime text3 运行python文件无法input的问题
怎么输入都没有用,原来需要配置可交互环境来运行 首先,Ctrl+Shift+p快捷键,弹出框框输入 install Package,回车后又弹出一个框,输入SublimeREPL(要安装的插件名字), ...
- poj1417 True Liars[并查集+背包]
有一点小转化的题,在设计dp状态时还是有点费脑筋的. 地址. 依题意,首先可以知道肯定要扩展域的并查集(明摆着的嘛).一个"好人"域,一个"坏人"域,每句话分两 ...
- Codeforces 762D Maximum path 动态规划
Codeforces 762D 题目大意: 给定一个\(3*n(n \leq 10^5)\)的矩形,从左上角出发到右下角,规定每个格子只能经过一遍.经过一个格子会获得格子中的权值.每个格子的权值\(a ...