mysql安全管理_MySQL安全管理

创建用户帐号

create user ben identified by '123456';

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

6fbd7e018a66a609188d6ad4ae8b6f41.png

重新命名用户帐号

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

rename user ben to bforta;

删除用户账户

drop user bforta;

设置访问权限

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

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

show grants for bforta;

输出的结果如下所示:

fb0b960614ff4e87bd91a6446ca92d54.png

分析:输出结果显示用户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');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值