与hive相关的mysql的用户权限问题

与hive相关的mysql的用户权限问题,第1张

不知道你是如何赋权的,一般要让部署Hive的机器有对Mysql的访问权限,比如:

create database

hive_metastore

grant

all on hive_metastore.* to hive@'172.16.221.221' identified by 'hive' WITH GRANT OPTION

flush privileges

sqoop是map任务,分布到集群所有机器上执行。

所以你的授权(grant)只给了''@'localhost'是不够的。你至少需要将权限给到'user'@'%',这其中的user,是你访问mysql使用的用户

1、mysql错误码1044,权限错误

当用root创建新数据库时,发现很奇怪的问题,root权限居然无法创建数据库,看了网上很多文档说是root创建密码问题,按照网上方法修改仍然没有起效

后来发现自已原来安装过mysql,已经创建了var/lib/mysql 文件夹,然后卸载重装没有删除这个文件夹,这个文件夹里面的mysql权限文件是原来的mysql用户的,新的mysql用户虽然用户名也是mysql,但是ID是不一样的,当然无法访问原来的文件,于是发原来的mysql文件夹删掉,重新安装mysql,问题解决

2、启动mysql失败,提示:The server quit without updating PID file

查看err文件,提示是设置utf-8字符问题,原因是我在mysqld 下面用了:default-character-set=utf8

导致启动失败

进入/etc/my.cnf文件,把设置utf-8字符的那行删掉,mysqld下面如果要使用utf-8,设置应该为:

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

问题解决

3、创建新数据库hive,创建用户hive,并授权hive数据库权限给hive用户后,发现使用hive用户登录时报错:

ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

这是因为user表中有用户名为空的用户导致,把user表中的空用户删除,刷新,问题解决

执行命令如下:

delete from user where user=''

FLUSH PRIVILEGES


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8570246.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存