解决1044错误问题:
1044问题实质是因为你的mysql数据库没有设值密码或者密码不正确导致的。
关闭mysql
# service mysqld stop
屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
新开起一个终端输入
# mysql -u root mysql
mysql>delete from user where USER=''
mysql>FLUSH PRIVILEGES//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql>\q
因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)