一、用户管理
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';