上一节我们完成了mysql的安装,现在我们将开启实战模式,完成一些基本的mysql操作。这节我们分为一些几个内容:

      • mysql中用户新建
      • mysql中用户删除
      • mysql中用户修改
      • mysql中用户查看

  接下来的几章的内容分布都是按照这个模式进行的----增删改查,这也是数据库的本质。

  1. 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用户操作的更多相关文章

  1. mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法

    版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...

  2. mysql由浅入深探究(一)----数据库简介与mysql安装

    mysql简介: 首先谈到mysql,我们要知道这是一个开源的数据库,与开源对应的就是free,但这并不意味着其性能会比很差,mysql同样能支持千万级以上的大数据量,甚至更多.同时mysql还支持许 ...

  3. mysql 用init-connect+binlog实现用户操作追踪做access的ip的log记录

    在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化.我们可以在这里获取用户的登录名称和thread的ID值.然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等 ...

  4. 高性能可扩展mysql 笔记(二)用户模型设计、用户实体表结构设计、设计范式

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.用户模型设计 电商羡慕中用户模型的设计涉及以下几个部分: ​ 以电商平台京东的登录.注册页面作为例: ...

  5. Mysql基础(二):MySQL之存储引擎

    目录 MySQL之存储引擎 1.MySQL存储引擎介绍 2.MySQL结构 3.MySQL存储引擎分类 4.存储引擎的使用 5.总结 MySQL之存储引擎 1.MySQL存储引擎介绍 MySQL中的数 ...

  6. mysql由浅入深探究(三)----mysql增删改查

    通过前两节的学习,目前我们已经完成了数据库的安装,用户的创建及权限操作等相关操作,但是我们似乎我们只是隐隐约约接触到了数据库的一些基本操作,对数据库表还是比较陌生.那么现在我们呢开始了解一些数据库的一 ...

  7. mysql由浅入深探究(四)----mysql事务详解

    什么是事务: 通俗的解释就是对数据库进行的一组完整的操作,这组完整的操作中包含一个或多个操作.解释的太low了,来点官方的:事务就是DBMS中执行的一个完整的逻辑单元,这个逻辑单元中包含一个或者多个操 ...

  8. MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL

    MySQL provides privileges that apply in different contexts and at different levels of operation: Adm ...

  9. 0816关于MySQL的审计 init-connect+binlog实现用户操作追踪

    转自:http://blog.sina.com.cn/s/blog_605f5b4f01013xkv.html mysql 用init-connect+binlog实现用户操作追踪 做access 的 ...

随机推荐

  1. 利用socket.io实现多人聊天室(基于Nodejs)

    socket.io简单介绍 在Html5中存在着这种一个新特性.引入了websocket,关于websocket的内部实现原理能够看这篇文章.这篇文章讲述了websocket无到有,依据协议,分析数据 ...

  2. Discuz!支持发布视频帖子设定 + 修改后台文件

    最近想做一个地方性论坛,果断在阿里巴巴的phpwind论坛程序与腾讯旗下的discuz论坛程序中选择,虽然phpwind大气,后面还是 决定选择了discuz程序用来构建这个平台,经过一番安装后,发现 ...

  3. 在Linux下搭建我的世界(Minecraft)服务器

    最近薅了百度云双12的羊毛,1核2G一年150.突然想起以前大学整个宿舍通宵开黑挖泥土的岁月,所以刚好趁着这台服务器,打算自己搭建一个我的世界服务器,重温一下以前的感觉. 超详细Linux搭建Java ...

  4. 请求时token过期自动刷新token

    1.在开发过程中,我们都会接触到token,token的作用是什么呢?主要的作用就是为了安全,用户登陆时,服务器会随机生成一个有时效性的token,用户的每一次请求都需要携带上token,证明其请求的 ...

  5. haproxy 修改 访问路径

    # 匹配 jsessionid,并去除 jessionid参数reqrep ^([^\ :]*)\ /a/test.html;jsessionid=.*\?(.*) \1\ /b/test.html? ...

  6. java中判断字符串是否相等有两种方法:

    1.用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",那么a==b将返回true.这是 ...

  7. Lua调用C,C++函数案例

    该程序主要是C++与Lua之间的相互调用示例.执行内容:(1)新建一个lua_State(2)打开常用库,如io,os,table,string等(3)注册C函数(4)导入程序所在目录下所有*.lua ...

  8. 微软面试题:鸡蛋从第N层及以上的楼层落下会摔破

    from:https://blog.csdn.net/qq_18425655/article/details/52326709   题目: 有一栋楼共100层,一个鸡蛋从第N层及以上的楼层落下来会摔破 ...

  9. Log4j2_学习_01_Log4j 2使用教程

    一.推荐使用的log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <!-- 设置log4j2的 ...

  10. linux网络编程 gethostbyname()

    gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针.结构的声明与gethostaddr()中一致. 返回对应于给定主机名的主机信息. #include ...