进入命令终端
sudo mysql
1. 创建用户
CREATE USER 'dou'@'localhost' IDENTIFIED BY 'dou';
localhost 代表该用户只能在本地登录;如果需要远程登录则将 localhost 改为 %
2. 查询用户
SELECT USER, HOST FROM mysql.user;
3. 设置用户密码
//未指明 HOST 默认为 %(下同)
SET PASSWORD FOR 'dou' =PASSWORD('1234');
//指明 HOST 为 localhost
SET PASSWORD FOR 'dou'@'localhost' =PASSWORD('1234');
4. 删除用户
DROP USER 'dou'@'localhost';
5. 创建数据库
//直接创建,如果已存在则返回错误
CREATE DATABASE dou_test;
//创建前先进行判断,如果存在则直接返回成功
CREATE DATABASE IF NOT EXISTS dou_test;
6. 用户分配权限
//授予 dou_test 数据库的所有权限给 dou(不能将自己所具备权限给其他用户)
GRANT ALL ON dou_test.* TO 'dou'@'localhost';
//授予 dou_test 数据库的所有权限给 dou(包括可以将自己对 dou_test 表所具备的权限给其他用户)
GRANT ALL ON dou_test.* TO 'dou'@'localhost' WITH GRANT OPTION;
//授予具体权限(表的创建、修改、删除,表具体内容的查询、插入、更新、删除)
GRANT CREAT, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE ON dou_test.* TO 'dou'@'localhost';
//修改完权限,注意再执行刷新权限命令(下同)
FLUSH PRIVILEGES;
7. 查看用户权限
//未指明查看用户,默认查询当前登录用户全
SHOW GRANTS;
//指明查询 dou 的权限
SHOW GRANTS FOR 'dou';
8. 删除用户权限
//删除指定用户指定数据库的所有权限(不包含给别人授权)
REVOKE ALL ON dou_test.* FROM 'dou'@'localhost';
//todo 删除指定用户指定数据库的所有权限(包含给别人授权)
//删除指定用户指定数据库的具体权限
REVOKE DROP ON dou_test.* FROM 'dou'@'localhost';
//删除指定用户的所有权限(包含给别人授权)
REVOKE ALL, GRANT OPTION FROM 'dou'@'localhost';