本地Excel连接AWS云端SQL数据库的可行性及配置咨询
本地Excel连接AWS云端SQL数据库的可行性及配置咨询
当然可以实现本地Excel连接AWS云端的SQL数据库,我之前帮团队处理过几乎一模一样的需求,你现在遇到的问题大概率是网络和数据库权限配置没到位,咱们一步步捋清楚:
先聊聊你当前操作的核心问题
你现在是通过RDP连接云主机再访问SQL,这属于「间接访问」,而本地Excel要直接连云端SQL,走的是SQL数据库本身的服务端口,和RDP用的3389端口完全是两回事,所以直接填RDP的Hostname:Portnumber肯定连不上,得调整几个关键配置。
必须完成的AWS端网络配置
- 安全组放行SQL服务端口:找到你的数据库所在EC2/RDS对应的安全组,添加入站规则:
- 类型选对应的SQL服务(比如SQL Server选「MS SQL」,MySQL选「MySQL」),或者自定义TCP,端口填你SQL用的默认端口(SQL Server是1433、MySQL是3306,要是改了自定义端口就填改后的数值)
- 源地址别选
0.0.0.0/0(太不安全),填你本地办公网络的公网IP段,或者你当前机器的公网IP(直接搜「我的IP」就能拿到)
- 开启数据库的公网访问权限:
- 如果是AWS RDS实例:在RDS控制台找到目标实例,修改配置里的「Publicly Accessible」为「Yes」,保存后等实例重启生效
- 如果是EC2上自建的SQL:确保EC2有公网IP,并且子网的路由表里有指向互联网网关(IGW)的路由规则
数据库本身的远程访问配置
- 启用远程连接协议:
- 比如SQL Server:打开「SQL Server配置管理器」,找到「SQL Server网络配置」,启用「TCP/IP」协议;双击TCP/IP进入设置,在「IP地址」栏找到「IPAll」,设置TCP端口为你的SQL服务端口,最后重启SQL Server服务
- 比如MySQL:修改
my.cnf(Linux)或my.ini(Windows)配置文件,把bind-address改成0.0.0.0(允许所有IP,或者直接填你的本地公网IP更安全),然后重启MySQL服务
- 调整数据库账号的访问权限:
别只允许账号从本地(localhost/127.0.0.1)登录,要修改账号的远程访问权限:- SQL Server:执行语句
ALTER LOGIN [你的账号名] WITH DEFAULT_DATABASE=[目标数据库名];,然后在用户映射里确保账号有目标数据库的读写权限,并且账号支持SQL身份验证(不用域账号的话优先选这个) - MySQL:执行语句
GRANT ALL PRIVILEGES ON 目标数据库名.* TO '你的账号名'@'你的本地公网IP' IDENTIFIED BY '你的密码';,再执行FLUSH PRIVILEGES;刷新权限
- SQL Server:执行语句
本地Excel的正确连接步骤
- 打开Excel,切换到「数据」选项卡,点击「获取数据」→「从数据库」→「从SQL Server数据库」(对应你用的数据库类型)
- 服务器地址填:
数据库公网地址,SQL端口(比如RDS的端点是mydb-xxxxxx.us-east-1.rds.amazonaws.com,就填mydb-xxxxxx.us-east-1.rds.amazonaws.com,1433;EC2的话直接填EC2公网IP加端口) - 登录方式建议选「数据库身份验证」,输入你刚才配置好的、允许远程访问的数据库账号和密码,勾选「保存密码」(如果需要长期连接),然后选择要连接的数据库和表即可
额外的安全提醒
- 绝对不要把安全组的源地址设为
0.0.0.0/0,只放行你需要的IP段,避免数据库被恶意扫描攻击 - 连接的时候尽量勾选「加密连接」(Excel连接选项里有这个开关),防止数据传输过程中被窃听
备注:内容来源于stack exchange,提问作者BEE
相关产品推荐
相关产品推荐

