用户权限管理

用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。

简单点说:有的用户可以访问并修改这个数据,而有些用户只能去查看数据,而不能修改数据。就如同博客园中每个用户的博客一样。对于博客的主人而言,

可以随意的删除自己的博客,而别人只能查看,如果每个人的权限都是一样的,别人可以随意的修改,这就会出现很多的问题,所以给不同用户不同的权限是很有必要的,可以保证每个用户的数据安全。

通常:一个用户的密码不会长期不变。所以需要经常性的变更数据库用户密码来确保用户本身安全。

用户管理

MySQL需要客户端进行连接认证才能进行服务器操作,需要用户信息,MySQL中所有的用户信息都是保存在MySQL数据库下的user表中的。基本语法:desc mysql.user; 或者是select * from mysql.user\G;

默认安装MySQL的时候,如果不选择创建匿名用户,那么意味着所有的用户只用一个,root超级用户。

在MySQL中,MySQL对用户的用户管理中,是通过对应的Host和User共同组成的主键来区分用户的。

User:代表用户的用户名。

Host:代表本质是允许访问的客户端(ip地址或者是主机地址)。如果host使用*代表所有的用户(客户端)都可以访问。

创建用户

注意:这里要创建用户,建议在root用户(超级用户下)创建,因为有些用户是不具有创建用户的权限的,

除非已经对这个用户受益了创建用户的权限。

理论上讲课采用两种方式创建用户。

1.直接使用root用户在mysql.user表中插入记录(不推荐)

2.专门创建用户的SQL指令

基本语法:create user  用户名 identified by 明文密码;

用户:用户名@主机地址。   也可以是只有用户名,表示的是可以任意一个客户端都可以访问这个用户。

查看mysql.user表中是否存在新增的用户

简化版创建用户(谁都可以访问,不需要密码)

总结一下:可以这么理解,如果没有给用户定义一个主机地址,那么任意的一台电脑的客户端都可以访问

这个用户。如果定义了主机地址,只有对应的主机可以访问这个用户。

删除用户

注意:MySQL中user是带着host本身的(具有唯一性)

基本语法:drop user 用户名@host;

修改用户密码

MySQL中提供了多种修改的方式,基本上都必须使用对应提供的一个系统函数:password()

(MySQL5.7版本后,就不再使用了。);需要靠该函数对密码进行加密处理。

1.使用专门修改密码的指令---------不再使用。

基本语法:set password for 用户=password(”新的明文密码");

2.使用更新语句update来修改表-----不再使用,正确方法在第三个。

基本语法:update mysql.user set password = password(”新的明文密码") where user=‘用户名’ and host='

主机地址’;

运行会报错

ERROR 1064 (42000): You have an error inyour SQL syntax; check the manual that

corresponds to your MySQL server versionfor the right syntax to use near 'passw

ord('123456')' at line 1

原因是MySQL5.7.6版本以后,password属性已经取消(使用SELECT  Password

(‘123’) 实验知会报错)。

并且修改用户密码的语句已经改变

3.alter user 用户名 identified by'123456';

把用户当成(表,数据库)之类的进行修改。

MySQL学习之用户管理的更多相关文章

  1. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

  2. mysql命令大全用户管理相关命令

        1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...

  3. 【MySQL笔记】用户管理

    1.账户管理 1.1登录和退出MySQL服务器 MySQL –hhostname|hostIP –P port –u username –p[password] databaseName –e &qu ...

  4. mysql数据库: 用户管理、pymysql使用、navicat插件使用

    一.用户管理 二.pymysql增删改查 三.sql注入攻击 一.用户管理 数据安全非常重要 不可能随便分配root账户 应该按照不同开发岗位分配不同的账户和权限 mysql中 将于用户相关的数据放在 ...

  5. linux 学习7 用户管理相关文件 r

    7.1.用户配置文件 7.2.用户管理相关文件 7.3.用户管理命令 7.4.用户组管理命令 删除用户userdel [root@localhost ~]# userdel [-r] 用户名 //一定 ...

  6. linux学习之用户管理

    用户管理是在root用户下进行相关操作的 1.配置文件路径:         保存用户信息的文件:/etc/passwd         保存密码的文件:/etc/shadow         保存用 ...

  7. oracle 学习笔记--用户管理

    oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users     //默认表空间 ...

  8. MySQL 基础八 用户管理

    SELECT * FROM student INSERT INTO student(NAME,sex,createuser,createtime) VALUES('jack','男','ligenyu ...

  9. mysql学习(用户权限管理)

    1. 添加数据库用户 create user 'username'@'host' identified by 'password'; 提示: 如果想让该用户可以从其他主机登陆,host可以设置为'%' ...

随机推荐

  1. 2-4 Sass的函数功能-颜色函数

    RGB颜色函数-RGB()颜色函数 在 Sass 的官方文档中,列出了 Sass 的颜色函数清单,从大的方面主要分为 RGB , HSL 和 Opacity 三大函数,当然其还包括一些其他的颜色函数, ...

  2. create-react-app找不到配置项

    npm run eject 这个一个不可逆过程,一旦你执行了,就不能回到初始化

  3. Linux下OCI环境配置

    ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORA ...

  4. ie6 浏览器的bug

    1.IE6不支持连续类的交集选择器 1 #box.box.box1{ 2             width: 200px; 3             height: 200px; 4       ...

  5. collectd的python插件(redis)

    https://blog.dbrgn.ch/2017/3/10/write-a-collectd-python-plugin/ redis_info.conf <LoadPlugin pytho ...

  6. html 页面清浏览器缓存

    <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv=" ...

  7. Studying TCP's Congestion Window using NS

    Studying TCP's Congestion Window using NS How to obtain TCP's CWND value The most important value th ...

  8. python requests实现windows身份验证登录

    1.安装ntlm  https://github.com/requests/requests-ntlm pip install requests_ntlm 2.使用 import requests f ...

  9. 音乐播放插件Aplayer+WebAPI的使用【附下载】

    本次介绍的是音乐播放器APlayer结合WebAPI的使用,先给各位看下效果:   上面就是APlayer的效果,然后这插件的地址是 https://github.com/DIYgod/APlayer ...

  10. AD诊断命令

    dcdiag repadmin /showrepl "启动从dc02到dc01的复制"cmd /c "repadmin /replicate dc02 dc01 dc=u ...