在Hadoop上为Hive创建一个用户帐户MySQL

时间:2017-04-27 15:29:25

标签: mysql hadoop hive cluster-computing

我正在尝试使用MySQL作为Metastore在Hadoop上安装Hive。我是这些技术的新手。 我正在学习本教程:https://www.youtube.com/watch?v=JJ5jFDxuA7A,其中一个步骤是以这种方式为MySQL创建一个用户帐户:

CREATE USER 'hduserdb'@'localhost' IDENTIFIED BY 'hadoopdb';
GRANT ALL PRIVILEGES ON *.* TO 'hduserdb'@'localhost' WITH GRANT OPTION;
CREATE USER 'hduserdb'@'%' IDENTIFIED BY 'hadoopdb';
GRANT ALL PRIVILEGES ON *.* TO 'hduserdb'@'%' WITH GRANT OPTION;

我无法理解为什么我需要做最后两行。在这种情况下,“%”是什么意思? 我试图在官方文档https://dev.mysql.com/doc/refman/5.7/en/account-names.html中搜索信息,我发现了这个:

Account name syntax is 'user_name'@'host_name'.

An account name consisting only of a user name is equivalent to 'user_name'@'%'. For example, 'me' is equivalent to 'me'@'%'. 

但我仍然不明白:/它们是否相同?我的意思是,写'@ host_name'和@'%'是一样的吗?如果是这样,为什么教程同时使用?

我希望明确,如果需要更多信息,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

没有必要使用这四行。我测试了它。 另外,我看到了其他教程,它只使用这些行:

CREATE USER 'hduserdb'@'%' IDENTIFIED BY 'hadoopdb';
GRANT ALL PRIVILEGES ON *.* TO 'hduserdb'@'%' WITH GRANT OPTION;

我希望它有所帮助!