博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL安全管理
阅读量:6157 次
发布时间:2019-06-21

本文共 1198 字,大约阅读时间需要 3 分钟。

创建用户帐号

create user ben identified by '123456';

创建后,MySQL数据库中的user表就新增了一条记录,如下所示:

图片描述

重新命名用户帐号

如果想要改变帐号的名字,可以通过下面的命令来达到效果:(使用root权限来修改)

rename user ben to bforta;

删除用户账户

drop user bforta;

设置访问权限

在创建用户账户后,必须接着分配访问权限。新创建的用户帐号没有访问权限。它们能登录MySQL,但不能看到数据,不能执行任何数据库操作。

为了赋予用户帐号的权限,使用 show grants for ,如下所示:

show grants for bforta;

输出的结果如下所示:

图片描述

分析:输出结果显示用户bforta有一个权限usage on ".*".usage表示根本没有权限,所以,此结果表示在任意数据库和任意表上对任何东西没有权限。

PS:用户定义为user@host MySQL的权限用用户名和主机名结合定义。如果不指定主机名,则使用默认的主机名%(授予用户权限而不管主机名)。

为了设置权限,使用grant语句。grant要求你至少给出以下的信息:

  • 要授予的权限;
  • 被授予访问权限的数据库和表
  • 用户名。

以下例子给出grant的用法:

grant select on crashcourse.* to bforta;

此grant允许用户在carshcourse.*(carshcourse数据库中的所有表)上使用select。通过只授权select反问权限,用户bforta对carshcourse数据中的所有数据具有只读反问权限。

撤销权限

与grant的反操作为revoke,用它来撤销特定的权限。

revoke select on carshcourse.* from bforat;

这条revoke语句取消刚赋予用户bforta的select权限。被撤销的访问权限必须存在,否则会出错。

GRANT和REVOKE可在几个层次上控制访问权限。

  • 整个服务器,使用GRANT ALL和REVOKE ALL;
  • 整个数据库,使用ON database.*;
  • 特定的表,使用ON database.table;
  • 特定的列;
  • 特定的存储过程

对于每个权限的写法可以参考《mysql必知必会》28章。

更改口令

为了更改用户口令,可使用set password语句。新口令必须如下加密:

set password for bforta = password('new 123456');

set password更新用户口令,新口令必须专递到password()函数进行加密。

set password还可以用来设置你自己的口令:

set password = pasword('new password');

转载地址:http://qrbfa.baihongyu.com/

你可能感兴趣的文章
面试题1-----SVM和LR的异同
查看>>
MFC控件的SubclassDlgItem
查看>>
如何避免历史回退到登录页面
查看>>
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>