Julia连接AWS MySQL数据库报错求助:UndefVarError: connect未定义
解决Julia连接AWS MySQL时的
UndefVarError: connect not defined问题 你遇到的这个报错完全是因为**MySQL.jl的API已经更新**啦,旧的MySQL.connect方法早就被移除了,现在Julia的数据库包都统一遵循DBInterface接口标准,咱们换个写法就能解决:
第一步:清理并重新安装正确的依赖
之前单独安装的DBI.jl已经是过时的包了,现在MySQL.jl会自动依赖新版的接口包,先把旧包清掉再重装:
using Pkg Pkg.rm("MySQL", "DBI") Pkg.add("MySQL")
第二步:使用新版接口建立连接
现在用DBInterface.connect来创建连接,代码改成这样:
using MySQL, DBInterface # 替换成你的AWS数据库信息 con = DBInterface.connect( MySQL.Connection, "ec2blah.eu-west-2.compute.amazonaws.com", "name", "password", db = "database" ) # 操作完数据库记得关闭连接 DBInterface.close!(con)
额外注意事项
- 你的Julia 1.5.2版本虽然不是最新,但
MySQL.jl的v1.2.0版本是兼容这个Julia版本的,如果重装后还是有问题,可以指定版本安装:Pkg.add(PackageSpec(name="MySQL", version="1.2.0")) - 另外提前确认AWS MySQL实例的安全组已经开放3306端口,且你的本地IP在允许访问的列表里——这虽然不是当前报错的原因,但连接成功后很可能会遇到这类网络问题~
内容的提问来源于stack exchange,提问作者MidnightDataGeek
相关产品推荐
相关产品推荐

