一、問題描述
在用sqoop連接mysql時,會報錯如下圖所示,原因是mysql在默認情況下是使用了auth_socket plugin進行認證,即每次登陸都需要sudo mysql -u localhost -p,
sqoop命令中是不能識別sudo關鍵字的,所以需要去掉sudo關鍵字連接mysql。
但是如果不使用sudo,就會報錯: ERROR 1698(28000):Access denied for user 'root'@'localhost' 。
二、解決辦法
修改mysql登陸的驗證方式:
alter user 'root'@'localhost' identified with mysql_native_password by 'your password' #這行代碼也可以用來修改mysql密碼