MySQL必知必会-24MySQL安全管理

创建用户账号
为了创建一个新用户账号,使用CREATE USER语句,
   
   
  1. CREATE USER helloworld IDENTIFIED BY 'helloworld';
IDENTIFIED指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密。为了作为散列值指定口令,使用IDENTIFIED BY PASSWORD

重新命名一个用户账号
使用RENAME USER语句。
    
    
  1. RENAME USER helloworld to hello;

删除用户账号
为了删除一个用户账号,使用DROP USER语句
    
    
  1. DROP USER hello;
自MySQL5以来,DROP USER删除用户账号和相关的账号权限。

设置访问权限
创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限。能登入MySQL,但不能看到数据,不能执行任何数据库操作。
查看赋予用户账号的权限,使用SHOW GRANTS FOR
   
   
  1. SHOW GRANTS FOR helloworld;
输出结果显示用户helloworld有一个权限USAGE ON *.*。
USAGE表示根本没有权限,此结果表示在任意数据库和任意表上对任何东西没有权限。

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

设置权限,使用GRANT语句。GRANT要求至少给出以下信息:
要授予的权限
被授予访问权限的数据库或表
用户名

    
    
  1. GRANT SELECT ON mysql_bizhibihui.* TO helloworld;
此GRANT允许用户在mysql_bizhibihui.*(mysql_bizhibihui数据库的所有表)上使用SELECT。通过只授予SELECT访问权限,用户helloworld对mysql_bizhibihui数据库中的所有数据具有只读访问权限。

每个GRANT添加(或更新)用户一个权限。MySQL读取所有授权,并根据它们确定权限。
GRANT的反操作REVOKE,用它来撤销特定的权限。
    
    
  1. REVOKE SELECT ON mysql_bizhibihui.* FROM helloworld;

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


 使用GRANT和REVOKE,再结合上面的权限,能对用户什么能做,什么不能做具有完全的控制。

在使用GRANT和REVOKE时,用户账号必须存在,对所涉及的对象没有这个要求。允许管理员在创建数据库和表之前设计和实现安全措施。
可通过列出各权限并用逗号分隔,将多条GRANT语句串在一起。
    
    
  1. GRANT SELECT, INSERT ON mysql_bizhibihui.* TO helloworld;

更改口令
为了更改用户口令,可使用SET PASSWORD语句。
    
    
  1. SET PASSWORD FOR helloworld = Password('hello');
SET PASSWORD还可以设置自己的口令
    
    
  1. SET PASSWORD = Passwrd('123456789');
在不指定用户名时,SET PASSWORD更新当前登录的用户的口令。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值