开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

在大数据计算MaxCompute中,使用外部表后,查询不了,报错是什么问题?

使用外部表后,查询不了,报错Access denied for user 'userxing'@'172.28.141.33' (using password: YES),是账号权限问题?还是白名单没加入正确?外部表连的rds,但是账号是可以访问的,dataworks那边的链接数据源也是用了同一个账号,密码里有个+号,那password里如果有个+号,是这个+号导致了吗?set odps.sql.hive.compatible = true;
CREATE EXTERNAL TABLE mc_vpc_rds_external (
id int,
name string
)
STORED BY 'com.aliyun.odps.jdbc.JdbcStorageHandler'
location 'jdbc:mysql://rm-2ze01y92y1tzp.mysql.rds.aliyuncs.com:3306/rds_test?useSSL=false&user=&password=**&table=rds_mc_external'
TBLPROPERTIES(
'mcfed.mapreduce.jdbc.input.query'='select * from rds_test.rds_mc_external',
'networklink'='networklink4mysql'
);

展开
收起
崔问问 2023-11-20 07:49:24 60 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误看起来像是一个数据库连接权限问题,可能是由以下几个原因造成的:

    1. 数据库连接的用户名和密码不正确:检查一下数据库连接的用户名和密码是否正确。尤其是如果密码中含有特殊字符(如 + 号),可能需要进行特殊的编码或转义处理。
    2. 数据库的 IP 访问控制策略不允许来自 DataWorks 的 IP 地址连接:请检查一下数据库的 IP 访问控制策略,看看是否允许来自 DataWorks 的 IP 地址连接。如果没有允许,请添加相应的 IP 白名单规则。
    3. 数据库用户的权限不足:请检查一下数据库用户是否有足够的权限访问所需的数据表或视图。如果没有,请尝试增加相应的权限。
    2023-11-20 14:24:29
    赞同 展开评论 打赏
  • 这个错误提示通常表示你在尝试访问MySQL数据库时,使用的用户名和密码不正确。在这个错误信息中,"userxing"是你的用户名,而"172.28.141.33"可能是你当前客户端的IP地址。

    关于你提到的密码中的+号问题,一般来说,MySQL数据库在验证用户名和密码时会忽略密码中的特殊字符,所以+号应该不会影响你的连接。但是,如果你在其他地方使用了这个用户名和密码,并且那里的密码存储规则不允许包含特殊字符,那么+号可能会导致问题。

    建议你检查以下几点:

    1. 确保你在MaxCompute中使用的外部表连接字符串是正确的,包括用户名、密码和数据库名称。

    2. 确保你在MaxCompute中使用的外部表连接字符串中的用户名和密码与你RDS数据库中的用户名和密码匹配。

    3. 如果可能,尝试直接在MySQL命令行中使用相同的用户名和密码进行连接,以确认它们是否有效。

    2023-11-20 10:28:15
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载