在hadoop上为配置单元mysql创建一个用户帐户

vs3odd8k  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(353)

我正在尝试使用mysql作为元存储在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'@'%'.

但我还是不明白:它们是等价的吗?我的意思是,写@'主机名'和@'%'是同一个吗?如果是这样,为什么教程同时使用这两种方法?
我希望说清楚,如果需要更多的信息请告诉我。谢谢您!

5sxhfpxr

5sxhfpxr1#

不必使用这四条线。我测试过了。另外,我还看到了其他教程,它只使用以下几行:

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

希望对你有帮助!

相关问题