- Mysql用户的管理
- Mysql权限原理
1.Mysql用户的管理
1.1用户的创建:用户在mysql库中的user表中
CREATE 创建(关键字);USER 用户(关键字);user1 用户名称(自定义);@ 分隔符(关键字);‘localhost’ 允许登录的主机 ;IDENTIFIED BY 身份认证(关键字);‘Lyg@123.com’ 用户密码 ;DROP USER 'user1'@'localhost';
创建用语句中的@后面跟着的是登录的地址可以是本地登录(localhost)也可以是远程登录(192.168.26.150)。也可以用“%”代表任意的地址
1.2删除用户:" DROP USER 'user01'@'localhost'; "
1.3修改用户的密码
(1) " mysqladmin -uroot -p'123' password '新密码' "
" UPDATE mysql.user SET authentication_string=password(‘新密码’) WHERE user=’root’ AND host=’localhost’; "
" FLUSH PRIVILEGES; "
这里的“password()” 是用来加密密码之后进行存储的
(2) " SET PASSWORD=password('new_password'); "
" FLUSH PRIVILEGES; " 刷新权限
(3)当用户丢失密码时
第一修改MySQL的配置文件
重启在登录时,不需要密码直接登录
登录进去之后再去修改密码,修改完成之后再去注释之前在MySQL配置文件里面加的语句
1.4登录MySQL
-P MySQL服务器端口 【默认3306】 大P
-u 指定用户名 【默认root】
-p 指定登录密码 【默认为空密码】
-e 接SQL语句
-h 指定主机名 【默认为localhost】
如果需要在远程登录数据库需要在登录端下载一个"mysql-community-client"客户端
2.Mysql权限原理
2.1权限级别
1. Global level 所有库,所有表的权限。
2. Database level 某个数据库中的所有表的权限。
3 .Table level 库中的某个表的权限
4. Column level 表中的某个字段,的权限。
2.2语法格式:" grant 权限列表 on 库名.表名 to '用户名'@'客户端主机' [identified by '密码' with option参数]; "
==权限列表
all: 所有权限(不包括授权权限)
select,update 查询更新
==数据库.表名
*.* 所有库下的所有表
web.* web库下的所有表
web.stu_info web库下的stu_info表
==客户端主机
% 所有主机
192.168.2.% 192.168.2.0网段的所有主机
192.168.2.168 指定主机
localhost 指定主机
==with_option参数 GRANT OPTION 授权选项
2.3查看权限
(1)查看自己的权限 :" SHOW GRANTS "
(2)查看别人的权限:" SHOW GRANTS FOR user01@'%' "
2.4回收权限: " REVOKE 权限列表 ON 数据库名 FROM 用户名@‘客户端主机’ "