MySQL学习笔记五
数据控制语言DCL
##用户管理
在MySQL中,使用CREATE USER来创建用户,用户创建后没有任何权限
创建用户
CREATE USER '用户名' [@'主机名'] [IDENTIFIED BY '密码'];
**注意:**MySQL的用户账号由两部分组成:用户名和主机名,即用户名@主机名,主机名可以是IP或机器名称,主机名为%表示允许任何地址的主机远程登录MySQL数据库。
删除用户
DROP USER '用户名' [@'主机名'];
修改密码
ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';
例:
create user 'lf'@'%' identified by '123456';
create user 'zs'@'192.168.0.122' identified by '123456';
##权限管理
在MySQL数据库中,使用grant命令授权、revoke命令撤销授权。
授权
grant all privileges on databaseName.tableName to '用户名' [@'主机名'] ;
撤销授权
revoke all privileges on databaseName.tableName from '用户名' [@'主机名'] ;
刷新权限
FLUSH PRIVILEGES;
查看权限
show grants for '用户名' [@'主机名'] ;
MySQL中授予和撤销的权限大致可分为3类:数据类、结构类和管理类
##忘记root用户密码
4步:
第一步:关闭MySQL服务
第1种方法:命令行输入net stop mysql80
第2种方法:windows+r 中输入services.msc,找到mysql80,停止服务
第二步:重启MySQL时关闭权限验证
关闭权限验证
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables --shared-memory
说明:参数–defaults-file的值为配置文件my.ini的完整路径
查看数据目录
show variables like '%datadir%';
第三步:修改root用户密码
MySQL关闭权限验证后,直接通过 mysql 命令即可连接到数据库,并可正常执行各类操作。
需要刷新权限才能修改密码
刷新权限
flush privileges;
修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
’root’@'localhost’中的主机名需要确定
第四步:正常启动MySQL服务
命令行输入net start mysql80
课程:CSDN《MySQL数据库从入门到实战应用》刘运强