
企业微信

飞书
选择您喜欢的方式加入群聊

扫码添加咨询专家
AskTable 支持 20+ 种数据源,包括关系型数据库、NoSQL、数据仓库、文件等。本文将全面介绍数据源的接入流程和最佳实践。
MySQL 系列:
PostgreSQL 系列:
其他关系型:
云数据仓库:
开源数据仓库:
文档数据库:
时序数据库:
表格文件:
在线表格:
API 数据源:
实时数据:
加载图表中...
步骤 1:选择数据源类型
步骤 2:配置连接信息
步骤 3:测试连接
步骤 4:同步元数据
步骤 5:配置权限
步骤 6:开始使用
连接信息:
{ "host": "mysql.example.com", "port": 3306, "database": "mydb", "username": "readonly_user", "password": "********" }
高级配置:
{ "ssl": true, "charset": "utf8mb4", "timezone": "+08:00", "connect_timeout": 10 }
最佳实践:
创建只读用户:
-- 创建只读用户 CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'password'; -- 授予只读权限 GRANT SELECT ON mydb.* TO 'readonly_user'@'%'; -- 刷新权限 FLUSH PRIVILEGES;
连接信息:
{ "host": "postgres.example.com", "port": 5432, "database": "mydb", "username": "readonly_user", "password": "********", "schema": "public" }
高级配置:
{ "ssl_mode": "require", "application_name": "asktable", "connect_timeout": 10 }
创建只读用户:
-- 创建只读用户 CREATE USER readonly_user WITH PASSWORD 'password'; -- 授予连接权限 GRANT CONNECT ON DATABASE mydb TO readonly_user; -- 授予 schema 使用权限 GRANT USAGE ON SCHEMA public TO readonly_user; -- 授予表查询权限 GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user; -- 授予未来表的查询权限 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly_user;
连接信息:
{ "host": "clickhouse.example.com", "port": 8123, "database": "default", "username": "readonly_user", "password": "********", "protocol": "http" }
高级配置:
{ "secure": true, "compression": true, "max_execution_time": 60 }
创建只读用户:
-- 创建只读用户 CREATE USER readonly_user IDENTIFIED BY 'password'; -- 授予只读权限 GRANT SELECT ON default.* TO readonly_user;
上传文件:
支持的格式:
注意事项:
连接信息:
{ "app_id": "cli_xxxxx", "app_secret": "********", "app_token": "bascnxxxxx" }
获取凭证:
权限配置:
场景:数据库有公网 IP
配置:
{ "host": "123.456.789.0", "port": 3306 }
安全建议:
场景:数据库在内网,无公网 IP
方案 A:VPN
AskTable → VPN → 内网数据库
方案 B:SSH 隧道
{ "host": "localhost", "port": 3306, "ssh_tunnel": { "host": "jump.example.com", "port": 22, "username": "tunnel_user", "private_key": "-----BEGIN RSA PRIVATE KEY-----\n..." } }
方案 C:本地部署 AskTable
内网 AskTable → 内网数据库
AWS RDS:
阿里云 RDS:
腾讯云 TencentDB:
同步内容:
同步策略:
选择策略:
正则表达式过滤:
包含:^(user|order|product).* 排除:.*(temp|test|backup).*
重要性:
最佳实践:
-- 添加表注释 COMMENT ON TABLE users IS '用户表'; -- 添加字段注释 COMMENT ON COLUMN users.id IS '用户ID'; COMMENT ON COLUMN users.name IS '用户姓名'; COMMENT ON COLUMN users.created_at IS '创建时间';
参数说明:
min_size:最小连接数max_size:最大连接数max_idle_time:最大空闲时间connect_timeout:连接超时时间推荐配置:
{ "pool": { "min_size": 2, "max_size": 10, "max_idle_time": 300, "connect_timeout": 10 } }
超时设置:
{ "query_timeout": 30, "max_rows": 10000 }
索引建议:
元数据缓存:
查询结果缓存:
错误:无法连接到数据库
排查步骤:
测试命令:
# 测试网络连通性 ping mysql.example.com # 测试端口 telnet mysql.example.com 3306 # 测试 MySQL 连接 mysql -h mysql.example.com -P 3306 -u username -p
错误:Access denied
排查步骤:
授权命令:
-- 查看用户权限 SHOW GRANTS FOR 'username'@'%'; -- 授予权限 GRANT SELECT ON database.* TO 'username'@'%';
错误:Failed to sync metadata
排查步骤:
使用只读账号:
密码安全:
IP 白名单:
允许的 IP: - 123.456.789.0/24 - 234.567.890.0/24
SSL/TLS 加密:
记录内容:
数据源接入的关键点:
选择合适的数据源: ✅ 根据业务需求选择 ✅ 考虑性能和成本 ✅ 评估安全性
正确配置连接: ✅ 使用只读账号 ✅ 启用 SSL 加密 ✅ 配置连接池
优化性能: ✅ 添加索引 ✅ 设置超时 ✅ 使用缓存
保障安全: ✅ IP 白名单 ✅ 强密码策略 ✅ 审计日志
下一步:
相关阅读:
技术交流: