# 实现mysql只能看到部分存储过程

## 任务流程表格

| 步骤 | 操作 |
| --- | --- |
| 1 | 创建新的数据库 |
| 2 | 创建存储过程 |
| 3 | 创建新用户并授权 |
| 4 | 配置用户只能看到特定的存储过程 |

## 具体操作步骤

### 步骤一:创建新的数据库

```sql
CREATE DATABASE new_db; -- 创建新的数据库

步骤二:创建存储过程

USE new_db; -- 使用新的数据库
DELIMITER $$ -- 修改语句结束符
CREATE PROCEDURE new_procedure()
BEGIN
    -- 存储过程内容
END $$ -- 存储过程结束
DELIMITER ; -- 恢复语句结束符

步骤三:创建新用户并授权

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; -- 创建新用户
GRANT EXECUTE ON new_db.new_procedure TO 'new_user'@'localhost'; -- 授权用户执行存储过程
FLUSH PRIVILEGES; -- 刷新权限

步骤四:配置用户只能看到特定的存储过程

REVOKE ALL PRIVILEGES ON new_db.* FROM 'new_user'@'localhost'; -- 撤销用户对数据库的所有权限
GRANT EXECUTE ON new_db.new_procedure TO 'new_user'@'localhost'; -- 授权用户执行特定的存储过程
FLUSH PRIVILEGES; -- 刷新权限
gantt
    title 实现mysql只能看到部分存储过程
    section 创建新的数据库
    创建新的数据库: done, 2022-01-01, 1d
    section 创建存储过程
    创建存储过程: done, 2022-01-02, 1d
    section 创建新用户并授权
    创建新用户并授权: done, 2022-01-03, 1d
    section 配置用户只能看到特定的存储过程
    配置用户只能看到特定的存储过程: done, 2022-01-04, 1d

通过以上步骤,你已经成功实现了mysql只能看到部分存储过程的需求。记得在具体操作时,根据实际情况修改数据库、存储过程、用户和权限名称。祝你顺利!