赞
踩
用户管理就是对用户信息和用户权限添加、修改、删除。
在安装MySQL时会默认生成一个名为mysql的数据库,MySQL中的用户信息,都存储在这个系统数据库mysql的user表中。
查看已有数据库:
使用系统数据库mysql并查看数据库中已有的表:
查看user表中的数据:
对user表中的部分字段进行说明:
host
: 表示这个用户可以从哪个主机登陆,其中localhost表示只能从本机登陆。user
: 用户名。authentication_string
: 用户密码通过password函数加密后的结果 。*_priv
: 用户拥有的权限。创建用户的SQL语句如下:
create user '用户名'@'登陆主机/ip' identified by '密码';
创建用户示例
注: 如果因为在配置文件中设置了root用户为无密码等原因,导致创建用户时报以下错误:
只需要输入flush privileges,再创建用户即可:
注: 输入密码时是不回显的,在输入密码后按下回车即可。
由于普通用户受到权限的约束,因此有的数据普通用户是看不到的,这也是用户权限管理的价值所在。
能看到user表中新增了qxm用户,并且密码是加密后的结果。
修改用户密码的SQL语句如下:
set password=password('新的密码');
set password for '用户名'@'主机名'=password('新的密码');
修改用户密码需要调用了MySQL内置的password函数将密码进行加密。
修改用户密码示例
删除用户的SQL语句如下:
drop user '用户名'@'主机名';
删除用户示例
删除用户后user表中相应的数据也被删除了。
MySQL中提供的权限如下:
权限 | 列名 | 上下文 |
---|---|---|
CREATE | Create_priv | 数据库、表或索引 |
DROP | Drop_priv | 数据库或表 |
GRANT OPTION | Grant_priv | 数据库、表或保存的程序 |
REFERENCES | References_priv | 数据库或表 |
ALTER | Alter_priv | 表 |
DELETE | Delete_priv | 表 |
INDEX | Index_priv | 表 |
SELECT | Select_priv | 表 |
UPDATE | Update_priv | 表 |
CREATE VIEW | Create_view_priv | 视图 |
SHOW VIEW | Show_view_priv | 视图 |
ALTER ROUTINE | Alter_routine_priv | 保存的程序 |
CREATE ROUTINE | Create_routine_priv | 保存的程序 |
EXECUTE | Execute_priv | 保存的程序 |
FILE | File_priv | 服务器主机上的文件访问 |
CREATE TEMPORARY TABLES | Create_tmp_table_priv | 服务器管理 |
LOCK TABLES | Lock_tables_priv | 服务器管理 |
CREATE USER | Create_user_priv | 服务器管理 |
PROCESS | Process_priv | 服务器管理 |
RELOAD | Reload_priv | 服务器管理 |
REPLICATION CLIENT | Repl_client_priv | 服务器管理 |
REPLICATION SLAVE | Repl_slave_priv | 服务器管理 |
SHOW DATABASES | Show_db_priv | 服务器管理 |
SHUTDOWN | Shutdown_priv | 服务器管理 |
SUPER | Super_priv | 服务器管理 |
新创建的用户没有任何权限,因此创建用户后需要给用户授权。
给用户授权的SQL语句如下:
grant 权限列表 on 库.表名 to '用户名'@'登陆位置' [identified by '密码'];
用户授权示例
show grants for '用户名'@'登录位置'
查看qxm用户被授予的权限:usage权限是没有权限的意思。
由于qxm用户没有权限因此看不到超级用户创建的testDB数据库。
由于被授权了对于testDB数据库的user表的所有权限,因此qxm用户可以对user表的数据进行增删改查操作。
回收权限的SQL语句如下:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
回收权限示例
由于select权限被回收了,因此qxm用户的权限列中没有select。
由于还有插入权限,因此插入数据是不受限制的,但是由于更新和删除操作都要先查询数据确定要操作的数据因此都被权限限制了。
通过查看表中数据,说明qxm用户的插入数据操作确实成功了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。