DDL:create / alter / drop
DML: insert /update/delete
DQL : select /show
DCL : grant /revoke
我们现在默认使用的都是root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
注: mysqld 是MySQL的主程序,服务器端,mysql 是MySQL的命令行工具,客户端
DBA:数据库管理员
DCL:管理用户,授权
一、创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
二、给用户授权
用户创建之后本身没有什么权限,需要给用户授权。
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
三、撤销授权
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
四、查看权限
-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
五、删除用户
DROP USER '用户名'@'主机名';
六、修改密码
1. 修改普通用户密码
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
2. 修改管理员密码
mysqladmin -uroot -p password 新密码
3. mysql 中忘记了 root 用户的密码?
(1)cmd -- > net stop mysql 停止mysql服务
* 需要管理员运行该cmd
(2)使用无验证方式启动mysql服务:
* mysqld --skip-grant-tables
(3)打开新的cmd窗口,直接输入mysql命令,敲回车,就可以登录成功
(4)use mysql;
(5)update user set password = password('你的新密码') where user = 'root';
(6)关闭两个窗口
(7)打开任务管理器,手动结束 mysqld.exe 的进程
(8)启动 mysql 服务
(9)使用新密码登录。