【面试】MySQL面试之用户管理类问题

这篇博客总结了MySQL面试中关于用户管理的问题,包括如何定义和授权用户,确保数据库账号安全的方法,以及如何迁移数据库账号。内容涵盖用户权限类型、最小权限原则、密码策略和账号迁移步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL面试之用户管理类问题

整理了一下面试中对于 MySQL 部分,面试官会涉及的一些用户管理类问题

1. 常见问题归纳

  • 如何在给定场景下为某用户授权
  • 如何保证数据库账号的安全
  • 如何从一个实例迁移数据库账号到另一个实例

2. 给定场景下为用户授权

考察内容:

  1. 如何定义 MySQL 数据库账号
  2. MySQL 常用的用户权限
  3. 如何为用户授权

2.1 如何定义 MySQL 账号

用户账号格式:用户名@可访问控制列表
可访问控制列表:

  1. %:代表可以从所有外部主机访问
  2. 192.168.1.%:表示可以从 192.168.1 网段访问
  3. localhost:DB:表示服务器本地访问

创建用户命令:

CREATE USER

2.2 MySQL常用的用户权限

1、Admin:

语句说明
Create User建立新的用户权限
Grant option为其他用户授权的权限
Super管理服务器的权限

2、DDL:

语句说明
Create新建数据库、表的权限
Alter修改表结构的权限
Drop删除数据库、表的权限
Index建立和删除索引的权限

3、DML:

语句说明
Select查询表中数据的权限
Insert向表中插入数据的权限
Update更新表中数据的权限
Delete删除表中数据的权限
Execute执行储存过程的权限

2.3 如何为用户授权

  • 遵循最小权限原则
  • 使用 Grant 命令对用户授权
grant select,insert,update,delete on db.tb to user@ip;
revoke delete on db.tb from user@ip;

3. 如何保证数据库账号的安全

考察内容:

  • 数据库用户管理流程规范
  • 密码管理策略

数据库用户管理流程规范

  • 最小权限原则
  • 密码强度策略
  • 密码过期原则
  • 限制历史密码重复使用原则

示例:
在这里插入图片描述

4. 如何迁移数据库账号

解决思路

  1. 查看数据库版本是否一致
  2. 若版本一致:
  3. 备份 mysql 数据库
  4. 在目的实例恢复
  5. 若版本不一致:
  6. 导出授权语句
  7. 在目地实例运行

导出用户建立及授权语句:

pt-show-grants u=root,p=123456,h=localhost

CREATE USER IF NOT EXISTS 'dba_test'@'10.102.13.%';

ALTER USER 'dba_test'@'10.102.13%' IDENTIFIED WITH
	'mysql_native_password' AS
	'*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'
	REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK;

GRANT USAGE ON *.* TO 'dba_test'@'10.102.13.%';

时间:2019.6.26 20:00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值