mysql基础--数据库管理
Posted 泽龙的学习笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql基础--数据库管理相关的知识,希望对你有一定的参考价值。
mysql基础--数据库管理
mysql中的用户,都存储在系统数据库mysql中的user表中
-
重要字段:
- host:运行登入的“位置”,localhost表示该用户只允许本地登入,也可以指定IP地址:192.168.1.100
- user:用户名
- authentication_string:密码,是通过mysql的password()函数加密之后的密码
-
意义:
当我们做项目开发时,可以根据不同的开发人员,赋予不同mysql操作权限,管理员root权限太大,需要创建子账户来分配不同权限
不同的用户登入到DBMS后,根据相应权限,可操作的数据库和数据对象(表、视图、触发器)都不一样
-
操作
-- 创建用户,同时指定密码(密码会自动使用password函数加密后放入数据库)
create user ‘用户名’ @ ‘允许登入的位置’ identified by \'密码\';
-- 删除用户
drop user \'用户名\' @ \'允许登入的位置\';
-- 修改自己密码
set password = password(‘abcdef’)
-- 修改其他人密码,需要权限
set password for \'用户名\'@\'访问地址\' = password(‘abcdef’)
- 权限
-
授权
基本语法:grant 权限列表 on 库.对象名 to \'用户名\' @ \'登入位置\' [identified by \'密码\']
- 权限列表:多个权限用逗号分隔
- *.*:表示本系统中的所有数据库的所有对象
- 库.*:表示某个数据库所有的数据对象
- identified by :可以省略,如果写了-1.用户存在,修改密码 2.用户不存在,创建该用户
-
回收权限
基本语法:revoke 权限列表 on 库.对象名 from ‘用户名’@‘登入位置’
-
权限生效
如果未生效,可以执行:flush privileges;
-
细节
- 创建用户时候,如果不指定Host,则为%,%表示所有IP都有链接权限 create user xxx;
- 你可以这样指定:create user ‘xxx’@‘192.168.1.%’表示用户在192.168.1.*的ip可以登入
- 在删除用户时,如果host不是%,需要明确指定‘用户’@‘host值’
以上是关于mysql基础--数据库管理的主要内容,如果未能解决你的问题,请参考以下文章