连接已有数据库
如果您已有独立运行的数据库,可参考本文档进行配置。
⚠️ 权限说明:本教程所教的用户创建均以root/超级用户权限为模板创建的用户(避免不必要的权限问题)。如您有权限精细化控制的需求,请自行调整授权语句。
数据库连接客户端推荐
推荐使用 Navicat Premium 17 Lite(登录后免费使用)
命令在哪执行?


MySQL 数据库操作
语法参考
| 操作 | 语法 |
|---|---|
| 查看用户 | SELECT user, host FROM mysql.user; |
| 创建用户 | CREATE USER '用户名'@'host' IDENTIFIED BY '密码'; |
| 删除用户 | DROP USER '用户名'@'host'; |
| 授权 | GRANT 《权限》 ON 《库名》.《表名》 TO '用户名'@'host'; |
| 权限 | 说明 |
|---|---|
ALL | 全部权限 |
SELECT | 查询 |
INSERT | 插入 |
UPDATE | 更新 |
DELETE | 删除 |
💡 库名或表名可以使用
*通配符表示所有库或所有表
步骤 1:创建数据库(使用 Navicat)


💡 为什么选择 UTF8MB4 字符集?
- UTF8:支持中文等多语言字符识别
- MB4:支持存储 emoji 表情符号(标准 UTF8 只支持 3 字节字符,MB4 支持 4 字节)
步骤 2:创建用户
sql
CREATE USER '《用户名》'@'%' IDENTIFIED BY '《密码》';示例(创建用户 danmuapi,密码 your_password):
sql
CREATE USER 'danmuapi'@'%' IDENTIFIED BY 'your_password';步骤 3:授权
sql
GRANT ALL ON 《库名》.* TO '《用户名》'@'%';示例(授权用户 danmuapi 对数据库 danmuapi 的全部权限):
sql
GRANT ALL ON danmuapi.* TO 'danmuapi'@'%';刷新权限使其生效:
sql
FLUSH PRIVILEGES;PostgreSQL 数据库操作
语法参考
| 操作 | 语法 |
|---|---|
| 创建用户 | CREATE USER 《用户名》 WITH PASSWORD '《密码》'; |
| 授权 | GRANT 《权限》 ON 《对象类型》 《对象名称》 TO 《用户名》; |
权限说明
| 权限 | 说明 |
|---|---|
ALL PRIVILEGES | 全部权限 |
SELECT | 查询数据 |
INSERT | 插入新数据 |
UPDATE | 修改现有数据 |
DELETE | 删除数据 |
CREATE | 创建新对象 |
CONNECT | 连接到数据库 |
USAGE | 使用模式或序列 |
EXECUTE | 执行函数或过程 |
PostgreSQL 对象层级结构
PostgreSQL 实例 → 数据库 (DATABASE) → 模式 (SCHEMA) → 对象| 对象 | 英文 |
|---|---|
| 表 | TABLE |
| 视图 | VIEW |
| 序列 | SEQUENCE |
| 函数 | FUNCTION |
| 类型 | TYPE |
对象类型参考
| 对象类型 | 对象名称格式 | 是否必需模式前缀 | 完整示例 |
|---|---|---|---|
| DATABASE | database_name | ❌ 不需要 | GRANT CONNECT ON DATABASE company TO user1; |
| SCHEMA | schema_name | ❌ 不需要 | GRANT USAGE ON SCHEMA hr TO user1; |
| TABLE | [schema_name.]table_name | ⚠️ 推荐使用 | GRANT SELECT ON TABLE public.employees TO user1; |
| ALL TABLES IN SCHEMA | schema_name | ✅ 必需 | GRANT SELECT ON ALL TABLES IN SCHEMA public TO user1; |
| ALL SEQUENCES IN SCHEMA | schema_name | ✅ 必需 | GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO user1; |
| ALL FUNCTIONS IN SCHEMA | schema_name | ✅ 必需 | GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA utils TO user1; |
步骤 1:创建用户
sql
CREATE USER 《用户名》 WITH PASSWORD '《密码》';示例(创建用户 danmuapi,密码 your_password):
sql
CREATE USER danmuapi WITH PASSWORD 'your_password';步骤 2:创建数据库(使用 Navicat)


💡 所有者:选择步骤 1 创建的用户
步骤 3:授权
3-1. 授予数据库连接权限
sql
GRANT CONNECT ON DATABASE 《数据库名》 TO 《用户名》;3-2. 授予模式使用权限
sql
GRANT USAGE ON SCHEMA public TO 《用户名》;3-3. 授予现有表的所有权限
sql
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO 《用户名》;3-4. 授予现有序列的所有权限(重要,用于自增字段)
sql
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO 《用户名》;3-5. 授予现有函数的执行权限
sql
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO 《用户名》;3-6. 设置默认权限(对新创建的对象生效)
sql
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO 《用户名》;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO 《用户名》;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO 《用户名》;3-7.(可选)允许用户在模式中创建对象
sql
GRANT CREATE ON SCHEMA public TO 《用户名》;