当前位置: 代码迷 >> 综合 >> MySQL8.0学习笔记(14)—— 终章:Securing Databases
  详细解决方案

MySQL8.0学习笔记(14)—— 终章:Securing Databases

热度:79   发布时间:2023-11-27 23:41:54.0

文章目录

  • 简介
    • create a user
    • Granting Privileges

简介

这节主要内容包含了如何管理数据库权限来保证数据库安全

create a user

  • 通过创建新的使用者,来赋予特定的权限保证数据库安全
-- 创建一个用户john,登录密码为1234 @表示可以从哪里登录,后面也可以跟主机名如localhost,也可以跟域名codewithmosh.com;
-- 使用%.codewithmosh.com表明该域的子域也能连接,没有@表示john可以从任何地方连接create user john@127.0.0.1	identified by '1234'
  • show user
select * from mysql.user;

在这里插入图片描述

  • drop user
create user bob@codewithmosh.com identified by '1234'
drop user bob@codewithmosh.com
  • change password
//管理员设置
set password for john = '1234'
//修改自己的密码
set password = '1234'

Granting Privileges

  1. web/desktop application
    创建一个可读可写的权限的用户,该用户不能创建新的表和修改现有的表的结构
create user moon_app identified by '1234';
grant select,insert,update,delete,execute
-- 对sql_store所有的表都有该权限,也可以跟指定的表
on sql_store.* 
to moon_app;
  1. admin
    管理员权限
grant all 
-- 所有数据库所有表的所有权限
on *.*
to john;
  • viewing privileges
show grants for john;
  • revoking privileges
-- 添加create view 的权限给moon_app
grant create view 
on sql_store.*
to moon_app;
-- 从moon_app撤回create view 的权限
revoke create view
on sql_store.*
from moon_app;
  相关解决方案