Sqoop吐血BUG整理(四)

如果出现以下BUG:
19/09/17 08:42:23 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access

Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLException: null, message from server: "Host ‘slave002’ is not allowed to connect to this MySQL server"

解决方案:

  1. 谁权限不够给谁赋予权限:
    举个栗子:
grant all privileges on *.* to 'hadoop'@'master001' with grant option;

然后重启mysql服务:

service mysqld restart;
  1. 远程的DataNode节点无权限
    首先尝试从DataNode节点远程连接NameNode节点上的数据库
mysql -u hadoop -h master001 -p

看看能否连接上,如果不能连接上:

grant all privileges on *.* to 'hadoop'@'%' with grant option;

给与远程访问权限,如果还不能连接上,那么请看第三条:

  1. 你可能和我出了同样的问题,莫名的BUG,如果在谁无权给谁授权这种方式解决不了的情况下。。。。

首先,新创建一个用户:

create user 'hadoop1'@'%' identified by 'hadoop'

注意,这里是直接创建的可以远程访问的用户,而不是一个localhost用户!
然后跑程序如果出现本地访问失败的情况:

grant all privileges on *.* to 'hadoop1'@'localhost' with grant option;
grant all privileges on *.* to 'hadoop1'@'master001' with grant option;

%竟然不包含localhost!!!
然后本地用户竟然无法给%进行授权!!!
然而在首次创建便是远程可连接用户的前提下,可以给本地用户成功授权!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值