##DCL
* SQL分类:
1、DDL:操作数据库和表
2、DML:操作增删改表中数据
3、DQL:查询表中数据
4、DCL:管理用户,授权
* DBA:数据库管理员
* DCL:管理员和,授权
1、管理用户
1、添加用户:
-- 创建用户 create user '用户名'@'主机名' identified by '密码';
2、删除用户:
-- 删除用户 drop user '用户名'@'主机名';
3、修改用户密码:
-- 修改用户密码 update user set password = PASSWORD('新密码') where User = '用户名'; set password for '用户名'@'主机名' = PASSWORD('新密码');
* mysql中忘记了root的密码?
1、cmd-->net stop mysql 停止mysql服务(需要管理员运行该cmd)
2、使用无验证方式启动mysql服务:mysqld --skip-grand-tables
3、打开新的cmd窗口,直接输入mysql命令,敲回车,就可以登录成功。
4、use msql;
5、update user set password = password('新密码') where user = 'root';
6、关闭两个窗口
7、打开任务管理器,手动结束mysqld.exe的进程
8、启动mysql服务
9、使用新密码登录
4、查询用户:
-- 1、切换到mysql数据库 use mysql; -- 2、查询user表 select * from user;
* 通配符:% 表示可以在任意主机使用用户登录数据库
2、权限管理
1、查询权限
-- 查询权限 show grants for '用户名'@'主机名'; show grants for 'root'@'localhost';
2、授予权限
-- 授予权限 -- grant 权限列表 on 数据库.表名 to '用户名'@'主机名'; grant select on mysql.user to '用户名'@'主机名'; -- 授予所有权限 grant all on * to '用户名'@'主机名';
3、撤销权限
-- 撤销权限 revoke 权限列表 on 数据库.表名 from '用户名'@'主机名'; revoke update on test.account from '用户名'@'主机名';
That which doesn't kill me makes me stronger!