mysql的一个报错,求解决

IvanTian 2018-09-13 10:06:00
Centos 7.5 系统安装的mysql数据库,设置了密码。
mysql -uroot -p 密码 进入后,使用sql语句报下面的错误:

ERROR 1820 (HY000) You must reset your password using ALTER USER statement before executing this statement;

按照网上的操作方式,不管输入任何语句都会报上面的错误,所以无法解决问题,求大家帮助看看,如何解决。

我初步的解决方式是:
修改了配置文件 my.cnf 在[mysqld]下面输入了 skip-grant-tables 然后重启mysqld服务,再次无密码认证进入数据库后就可以正常使用mysql语句,去掉my.cnf文件中的这句话就不可以了。。。。。
...全文
260 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶落千尘 2018-09-19
  • 打赏
  • 举报
回复
引用 7 楼 IvanTian 的回复:
[quote=引用 6 楼 baijiu1 的回复:]
新安装的数据库启动之后,第一件事:必须重新设置一个密码。
加上skip参数启动之后,进入mysql
执行:set password=password('你的密码');
然后退出。
停止mysql,去掉skip参数,然后启动

我就是这样做的,没有用,我是mysql5.7的版本,而且奇怪的是没有password这个字段[/quote]
也可以这样:
UPDATE user SET authentication_string = PASSWORD('123456') WHERE user = 'root';
叶落千尘 2018-09-19
  • 打赏
  • 举报
回复
引用 8 楼 baijiu1 的回复:
[quote=引用 7 楼 IvanTian 的回复:]
[quote=引用 6 楼 baijiu1 的回复:]
新安装的数据库启动之后,第一件事:必须重新设置一个密码。
加上skip参数启动之后,进入mysql
执行:set password=password('你的密码');
然后退出。
停止mysql,去掉skip参数,然后启动

我就是这样做的,没有用,我是mysql5.7的版本,而且奇怪的是没有password这个字段[/quote]
也可以这样:
UPDATE user SET authentication_string = PASSWORD('123456') WHERE user = 'root'; [/quote]
如果你是新安装的话,初始密码要去错误日志里找的。当然你也可以用不生成密码那个参数重新初始化数据库目录
IvanTian 2018-09-19
  • 打赏
  • 举报
回复
引用 6 楼 baijiu1 的回复:
新安装的数据库启动之后,第一件事:必须重新设置一个密码。 加上skip参数启动之后,进入mysql 执行:set password=password('你的密码'); 然后退出。 停止mysql,去掉skip参数,然后启动
我就是这样做的,没有用,我是mysql5.7的版本,而且奇怪的是没有password这个字段
叶落千尘 2018-09-19
  • 打赏
  • 举报
回复
新安装的数据库启动之后,第一件事:必须重新设置一个密码。
加上skip参数启动之后,进入mysql
执行:set password=password('你的密码');
然后退出。
停止mysql,去掉skip参数,然后启动
hali999 2018-09-14
  • 打赏
  • 举报
回复
先设置无密码在设置密码 试试看
田小瘦 2018-09-13
  • 打赏
  • 举报
回复
你那是无密码登录, 你要重新设置一下密码才能正常使用
zjcxc 2018-09-13
  • 打赏
  • 举报
回复
skip-grant-tables 启动,登录进入之后执行
flush privileges;
set password='新密码';
zjcxc 2018-09-13
  • 打赏
  • 举报
回复
不是提示你要重设密码么,你重设了么?
IvanTian 2018-09-13
  • 打赏
  • 举报
回复
重置了,修改了my.cnf文件就是进入重置密码的呀。。。。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧