MySQL笔记(十):MySQL管理

一、用户管理

bash 复制代码
#用户管理
-- 原因:当我们做项目开发时,可以根据不同的开发人员,赋给她相应的mysql操作权限。
-- 所以,mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用

-- 1、创建新用户
-- 解读:(1)'hsp_edu'@'localhost'表示用户的完整信息(没有空格),'hsp_edu' 是用户名,'localhost'登陆的ip地址
--       (2)123456是密码,但是注意,存放到mysql.user表时,是[assword('123456')加密后的密码
-- $A$005$nN;(X(6cW P.NxWUqwpkrnSZGNZo631s2k.nvDhDAu4qNoAzLiFWADg3
CREATE USER 'hsp_edu'@'localhost' IDENTIFIED BY '123456';

SELECT * FROM mysql.user;

SELECT SHA1('123456');-- 查看'123456'对应的加密结果,方1,7c4a8d09ca3762af61e59520943dc26494f8941b
SELECT MD5('123456');-- 方2 e10adc3949ba59abbe56e057f20f883e

SELECT `host`,`user`,`authentication_string`
	FROM mysql.user;
	
-- 删除用户
DROP USER 'hsp_edu'@'localhost';

-- 登录
bash 复制代码
-- 修改密码8.0以上得用ALTER USER '用户'@'IP' IDENTIFIED BY '新密码';
ALTER USER 'hsp_edu'@'localhost' IDENTIFIED BY 'abcdef';

二、权限管理



bash 复制代码
#演示 用户权限的管理

-- 创建一个用户(你的名字,拼音),密码123,并且只可以从本地登录,不让远程登录

CREATE USER 'css'@'localhost' IDENTIFIED BY '123';

-- 创建库和表testdb下的news表,要求:使用root创建
CREATE DATABASE testdb;

CREATE TABLE news(
	id INT,
	content VARCHAR(32));

INSERT INTO news VALUES(1,'北京新闻');

-- 给css用户分配查看news表和添加news表的权限
GRANT SELECT,INSERT
	ON testdb.`news`
	TO 'css'@'localhost';

-- 可以增加权限
GRANT UPDATE
	ON testdb.`news`
	TO 'css'@'localhost';
	
-- 修改css的密码为'abc'
ALTER USER 'css'@'localhost' IDENTIFIED BY 'abc';

-- 回收权限revoke.回收所有权限
REVOKE SELECT,UPDATE,INSERT ON testdb.`news` FROM 'css'@'localhost';
REVOKE ALL ON testdb.`news` FROM 'css'@'localhost';

-- 删除用户
DROP USER 'css'@'localhost';
相关推荐
巴伦是只猫23 分钟前
【机器学习笔记 Ⅲ】4 特征选择
人工智能·笔记·机器学习
不爱说话的采儿44 分钟前
UE5详细保姆教程(第四章)
笔记·ue5·游戏引擎·课程设计
float_六七1 小时前
SQL六大核心类别全解析
数据库·sql·oracle
weixin_418813871 小时前
Python-可视化学习笔记
笔记·python·学习
Vic101011 小时前
Java 开发笔记:多线程查询逻辑的抽象与优化
java·服务器·笔记
笑鸿的学习笔记2 小时前
qt-C++笔记之setCentralWidget的使用
c++·笔记·qt
丁满与彭彭2 小时前
嵌入式学习笔记-MCU阶段-DAY01
笔记·单片机·学习
Code季风2 小时前
将 gRPC 服务注册到 Consul:从配置到服务发现的完整实践(上)
数据库·微服务·go·json·服务发现·consul
Boilermaker19923 小时前
【Java EE】SpringIoC
前端·数据库·spring
霸王龙的小胳膊3 小时前
泛微虚拟视图-数据虚拟化集成
数据库