MySQL学习之用户管理
用户权限管理
用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。
简单点说:有的用户可以访问并修改这个数据,而有些用户只能去查看数据,而不能修改数据。就如同博客园中每个用户的博客一样。对于博客的主人而言,
可以随意的删除自己的博客,而别人只能查看,如果每个人的权限都是一样的,别人可以随意的修改,这就会出现很多的问题,所以给不同用户不同的权限是很有必要的,可以保证每个用户的数据安全。
通常:一个用户的密码不会长期不变。所以需要经常性的变更数据库用户密码来确保用户本身安全。
用户管理
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学习之用户管理的更多相关文章
- Linux学习之用户管理命令与用户组管理命令(十五)
Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...
- mysql命令大全用户管理相关命令
1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...
- 【MySQL笔记】用户管理
1.账户管理 1.1登录和退出MySQL服务器 MySQL –hhostname|hostIP –P port –u username –p[password] databaseName –e &qu ...
- mysql数据库: 用户管理、pymysql使用、navicat插件使用
一.用户管理 二.pymysql增删改查 三.sql注入攻击 一.用户管理 数据安全非常重要 不可能随便分配root账户 应该按照不同开发岗位分配不同的账户和权限 mysql中 将于用户相关的数据放在 ...
- linux 学习7 用户管理相关文件 r
7.1.用户配置文件 7.2.用户管理相关文件 7.3.用户管理命令 7.4.用户组管理命令 删除用户userdel [root@localhost ~]# userdel [-r] 用户名 //一定 ...
- linux学习之用户管理
用户管理是在root用户下进行相关操作的 1.配置文件路径: 保存用户信息的文件:/etc/passwd 保存密码的文件:/etc/shadow 保存用 ...
- oracle 学习笔记--用户管理
oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users //默认表空间 ...
- MySQL 基础八 用户管理
SELECT * FROM student INSERT INTO student(NAME,sex,createuser,createtime) VALUES('jack','男','ligenyu ...
- mysql学习(用户权限管理)
1. 添加数据库用户 create user 'username'@'host' identified by 'password'; 提示: 如果想让该用户可以从其他主机登陆,host可以设置为'%' ...
随机推荐
- RocketMQ读书笔记1——简述
[消息队列的功能介绍] 分布式消息队列可以提供应用解耦.流量削峰.消息分发.保证最终一致性.方便动态扩容等功能. [MQ使用场景1——应用解耦] 复杂的系统如电商系统,会存在多个子系统,如订单系统.库 ...
- You must not call setTag() on a view Glide is targeting when use Glide
以下代码是一个显示图片的RecyclerView 的Adapter用到的,当点击图片,跳到另一个Activity显示大图.RecyclerView 与ListView不同 然而没有setOnClick ...
- GitHub教程(一) 使用指南
刚进公司上班的时候,技术总监让我熟悉一下Git(分布式版本控制工具)操作命令和GitHub(代码托管平台),说实话之前我也没有具体使用过Git工具,但是GitHub我还是注册过账号的.在练习将本地仓库 ...
- ubuntu下root不能复制 abc用户下的软连接文件
使用root用户去复制,提示权限不足: 那么这个软连接是个什么东西??
- html5自我总结
2017年7月30日 合抱之木,生于毫末.九层之台,起于累土.软件行业要熟记和训练的东西有很多,在此,写一下如何快速搭建html及自我见解(这里只介绍我自己用到的,还有部分存在但是用不到的就不讲解了) ...
- WCF安全 z
WCF custom authentication using ServiceCredentials The generally accepted way of authenticating a us ...
- The categories of Reinforcement Learning 强化学习分类
RL分为三大类: (1)通过行为的价值来选取特定行为的方法,具体 包括使用表格学习的 q learning, sarsa, 使用神经网络学习的 deep q network: (2)直接输出行为的 p ...
- 跨域问题时的Filter无效
我页面用Web Uploader进行图片上传,后台使用一个过滤器解决跨域的options问题,然后我给入口类加上了这个过滤器注解配置,但是无效页面代码: <body> <div id ...
- Java时间格式化时YYYY(大写)和yyyy(小写)的区别
在Java中,我们大多数情况下格式日期都是用的SimpleDateFormat,比如说把一个日期格式成"yyyy-MM-dd"的形式. 我们要注意的是,对于年份来说,大写的Y和小写 ...
- Python中返回SQL字段名
def ReturnInfo(self, avalue, akey): cursor = connection.cursor() if type(avalue) == int: Sql = " ...