ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> MySql >> mysql的用户管理和权限管理(访问控制)

mysql的用户管理和权限管理(访问控制)(1/3)

来源:网络整理     时间:2016-01-06     关键词:

本篇文章主要介绍了"mysql的用户管理和权限管理(访问控制)",主要涉及到方面的内容,对于MySql感兴趣的同学可以参考一下: 前言:MySQL服务器的安全基础是:用户应该对他们的需要的数据具有适当的访问权,既不能多也不能少。换句话说,用户不能对过多的数据具有过多的访问权。 例如,我们...

前言:

MySQL服务器的安全基础是:用户应该对他们的需要的数据具有适当的访问权,既不能多也不能少。换句话说,用户不能对过多的数据具有过多的访问权。
例如,我们可能有一下要求:
- 多数用户只能对表进行读和写,但少数用户甚至需要创建和删除表;
- 有些用户需要读表,但不能更新表;
- 有些用户可以往表里添加数据,但是他们不能删除表了的数据;
- 等等;

以上的只是例子,但是有助于说明一个事实,也就是你需要给用户提供他们所需的访问权,且仅提供他们所需的访问权。这就是所谓的访问控制,管理访问控制需要创建和管理用户账号。

平时我们在学习或测试mysql的时候可能用的都是root的账户,但是在现实世界的日常生活中,在正式的开发过程中,我们要做到,尽量不要使用root用户登录(更linux很像,root就是万能的),因为权限太多了!我们应该创建一系列账户,有的用于管理,有的供用户使用,有的供开发人员使用,等等。

管理用户

MYSQL用户账号和信息存储在名为mysql的数据库中,一般的,我们不需要直接访问mysql数据库和表。我们可以从mysql表中获得所有用户账号列表:

USE mysql;
SELECTuserFROMuser;

返回:
mysql的用户管理和权限管理(访问控制)
我们用图形界面可能会看得更清楚(这里我用的是Navicat for mysql):
mysql的用户管理和权限管理(访问控制)

mysql数据库中有个user表,它包含所有的用户账号,user表里面有一个名为user的列,它存储用户登录名,新安装的服务器可能只有一个用户(如这里只有一个root用户)。

在这里我们看到暂时我们只有一个root用户,接下来我们看看如何管理用户:

1、创建用户账号:

为了创建一个新的用户账号,使用CREATE USER语句:

CREATE USER lsgo IDENTIFIED BY '123456';

如上我创建了一个新用户 lsgo ,密码为 123456 ,在创建用户的时候不一定要指定密码(不指定的话则登录密码为空),不过这里用 IDENTIFIED BY 指定了用户密码。
如果你再次列出用户账号,就会看到我们已经创建用户成功了:
mysql的用户管理和权限管理(访问控制)

用户是我创建的,那么我肯定能够修改他的名字啊!重命名一个用户用 RENAME USER 语句:

RENAME USER lsgo TO zhongjin;

mysql的用户管理和权限管理(访问控制)

改过来了有木有?感觉挺有趣的。

2、删除用户账号:

删除用户用:

DROP USER zhongjin;

注意:MYSQL 5以来DROP USER删除用户账号和所有相关的账号权限,但是在MYSQL 5以前,DROP USER只能用来删除用户账号,不能删除相关权限。那么在使用旧版的MYSQL,需要先把要删除的用户的权限都删除掉后,再删除用户。如何管理用户权限?看下面。。。

相关图片

相关文章