起因
公司用的AWS EMR上的hive,突然不能刪除表了。
經過
分析來看,估計是元數據那塊出了問題。從元數據入手,元數據存在mysql的hive數據庫中
直接使用hive配置文件hive-site.xml中的用戶名密碼訪問mysql數據庫
mysql -h ip -uhive -p
ERROR 1045 (28000): Access denied for user 'hive'@'ip' (using password: YES)
使用 root用戶登錄mysql,進入mysql數據庫,查詢 user表中的host,user,和password與hive-site.xml中的用戶名密碼對比
select host,user,password,password('pwd in hive-site.xml') from user;
password('')函數能獲取到字符串轉成mysql密碼加密后的字符串,進行比對。
(他喵的誰把密碼改了嗎?)發現密碼不一致
解決
將user表hive用戶的密碼更新成一致
重啟mysql 服務
service mysqld restart