zoukankan      html  css  js  c++  java
  • MySQL安全管理

    一、访问控制

    ​ MySQL服务器保证安全的基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。这样就可以防止用户对数据库的恶意操作和误操作。

    二、管理用户

    1. 创建用户账号

    -- 创建了一个新用户账户。用户名为ben,密码为p@$$wOrd
    create user ben identified by 'p@$$wOrd';
    
    -- 重命名一个用户账户。将ben重命名为bforta
    rename user ben to bforta;
    

    2. 删除用户账户

    -- 删除用户账户以及该账号所拥有的权限
    drop user bforta;
    

    3. 设置访问权限

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

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

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

    举例:

    grant select on crashcourse.* to bforta;
    -- 此grant语句允许用户bforta在crashcourse.*(crashcourse数据库的所有表)上使用select语句。
    
    revoke select on crashcourse.* from bforta;
    -- 这条revoke语句撤销刚刚赋予用户bforta的select访问权限。
    

    ​ grant和revoke可在几个层次上控制访问权限:

    • 整个服务器,使用grant all和revoke all;
    • 整个数据库,使用on database.*;
    • 特定的表,使用on database.table;
    • 特定的列;
    • 特定的存储过程。
    -- 简化多次授权。可通过列出各权限并用逗号隔开,将多条grant语句串在一起。
    grant select, insert on crashcourse.* to bforta;
    

    4. 更改密码

    set password for bforta = password('n3w p@$$wOrd');
    -- 新密码必须传到password()函数进行加密。
    
    set password = password('n3w p@$$wOrd');
    -- 在不指定用户名时,set password更新当前登录用户的密码。
    
  • 相关阅读:
    BiliBili, ACFun… And More!【递归算法】
    【VS2015】关于VS2015如何运行的问题
    【打死树莓派】-树莓派3代jessie+Opencv-解决安装不了libgtk2.0-dev包问题
    插入排序2.0
    【C++小白成长撸】--(续)单偶数N阶魔方矩阵
    【C++小白成长撸】--(续)双偶数N阶魔阵
    安装 python-opencv
    二叉树打印
    Kotlin接口
    Kotlin 继承
  • 原文地址:https://www.cnblogs.com/jiajun107/p/12899069.html
Copyright © 2011-2022 走看看