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可以设置为'%' ...
随机推荐
- Windows 64位下安装Redis教程
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. Key-Value数据库,并提供多种语言的API. 一.下载 地址:Download redis-latest ...
- 程序员装B指南(转载)
转自:http://www.oschina.net/question/615783_115390 一.准备工作 "工欲善其事必先利其器." 1.电脑不一定要配置高,但是双屏是必须的 ...
- 关于派生类访问基类对象的保护变量的问题 --Coursera
https://class.coursera.org/pkupop-001/forum/thread?thread_id=350 郭天魁· 6 months ago 在课件中我们知道如下程序是不能 ...
- tempdb过大事故记录-sqlserver
今天收到预警消息,提示磁盘空间已经满了,感觉很奇怪.刚装的新机器怎么可能会磁盘空间不足.登陆看了看 可以看的到tempdb已经65G的了,而且显示是百分百可用.这个就很奇怪了,为什么会出现这种情况呢. ...
- 使用CoreImage教程
使用CoreImage教程 CoreImage包含有很多实用的滤镜,专业处理图片的库,为了能看到各种渲染效果,请使用如下图片素材. 现在可以开始教程了: #define FIX_IMAGE(image ...
- shell语句
一.判断目录是否存在:#!/bin/bash#/bin/bash -n filename.sh 判断语句是否正确 DIR=/root/zhjif [ ! -d $DIR ];then mkdir $D ...
- 一道算法题-八皇后问题(C++实现)
八皇后问题 一.题意解析 国际象棋中的皇后,可以横向.纵向.斜向移动.如何在一个8X8的棋盘上放置8个皇后,使得任意两个皇后都不在同一条横线.竖线.斜线方向上?八皇后问题是一个古老的问题,于1848年 ...
- openAI最近推出了一个新的语言模型 "GPT-2"
[转]openAI最近推出了一个新的语言模型 "GPT-2",由于效果太好(?)几乎可以以假乱真,所以openAI正在犹豫是否把这个project完整release出来.(于是有人 ...
- web.config如何实现301跳转
.htaccess的301定向非常简单,那么web.config的301定向又应该怎么实现呢? 先来看下,web.config中的301格式 <?xml version="1.0&qu ...
- .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter
转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...