Skip to content

连接已有数据库

如果您已有独立运行的数据库,可参考本文档进行配置。

⚠️ 权限说明:本教程所教的用户创建均以root/超级用户权限为模板创建的用户(避免不必要的权限问题)。如您有权限精细化控制的需求,请自行调整授权语句。

数据库连接客户端推荐

推荐使用 Navicat Premium 17 Lite(登录后免费使用)

命令在哪执行?

Navicat 命令执行位置1

Navicat 命令执行位置2


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)

Navicat MySQL 建库步骤1

Navicat MySQL 建库步骤2

💡 为什么选择 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

对象类型参考

对象类型对象名称格式是否必需模式前缀完整示例
DATABASEdatabase_name❌ 不需要GRANT CONNECT ON DATABASE company TO user1;
SCHEMAschema_name❌ 不需要GRANT USAGE ON SCHEMA hr TO user1;
TABLE[schema_name.]table_name⚠️ 推荐使用GRANT SELECT ON TABLE public.employees TO user1;
ALL TABLES IN SCHEMAschema_name✅ 必需GRANT SELECT ON ALL TABLES IN SCHEMA public TO user1;
ALL SEQUENCES IN SCHEMAschema_name✅ 必需GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO user1;
ALL FUNCTIONS IN SCHEMAschema_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)

Navicat PostgreSQL 建库步骤1

Navicat PostgreSQL 建库步骤2

💡 所有者:选择步骤 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 《用户名》;

基于 AGPL-3.0 许可发布