mysql8.0修改密码及远程访问设置

mysql8.0修改密码及远程访问设置,第1张

在【mysqld】模块添加:skip-grant-tables 保存退出后重启mysql;

解决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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存