连接已有数据库​

连接已有数据库​

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

⚠️ 权限说明:本教程所教的用户创建均以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:创建用户 ​sqlCREATE USER '《用户名》'@'%' IDENTIFIED BY '《密码》';示例(创建用户 danmuapi,密码 your_password):

sqlCREATE USER 'danmuapi'@'%' IDENTIFIED BY 'your_password';步骤 3:授权 ​sqlGRANT ALL ON 《库名》.* TO '《用户名》'@'%';示例(授权用户 danmuapi 对数据库 danmuapi 的全部权限):

sqlGRANT ALL ON danmuapi.* TO 'danmuapi'@'%';刷新权限使其生效:

sqlFLUSH 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:创建用户 ​sqlCREATE USER 《用户名》 WITH PASSWORD '《密码》';示例(创建用户 danmuapi,密码 your_password):

sqlCREATE USER danmuapi WITH PASSWORD 'your_password';步骤 2:创建数据库(使用 Navicat) ​

💡 所有者:选择步骤 1 创建的用户

步骤 3:授权 ​3-1. 授予数据库连接权限

sqlGRANT CONNECT ON DATABASE 《数据库名》 TO 《用户名》;3-2. 授予模式使用权限

sqlGRANT USAGE ON SCHEMA public TO 《用户名》;3-3. 授予现有表的所有权限

sqlGRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO 《用户名》;3-4. 授予现有序列的所有权限(重要,用于自增字段)

sqlGRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO 《用户名》;3-5. 授予现有函数的执行权限

sqlGRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO 《用户名》;3-6. 设置默认权限(对新创建的对象生效)

sqlALTER 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.(可选)允许用户在模式中创建对象

sqlGRANT CREATE ON SCHEMA public TO 《用户名》;

相关推荐

正在阅读:“光碟+硬盘+在线”三栖全能影院 华录BDP2046评测“光碟+硬盘+在线”三栖全能影院 华录BDP2046评测
神州燃气灶质量怎么样
今日之时365天第二季

神州燃气灶质量怎么样

📅 08-16 👁️ 3085
帅康热水器质量怎么样,帅康热水器质量怎么样好不好
【失聰】了解成因、症狀、診斷、治療及預防方法
今日之时365天第二季

【失聰】了解成因、症狀、診斷、治療及預防方法

📅 09-05 👁️ 8985
汽车win灯亮是什么意思啊
今日之时365天第二季

汽车win灯亮是什么意思啊

📅 09-20 👁️ 2363
笑死人的高级废话文学语录全网很火(62条)
今日之时365天第二季

笑死人的高级废话文学语录全网很火(62条)

📅 07-22 👁️ 6778