千家信息网

mysql密码无法更改处理方案

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本文主要给大家简单讲讲mysql密码无法更改处理方案,相关专业术语大家可以上网搜集或者找一些专业书籍补充一下,这里就不涉猎了,直奔主题,希望可以给大家带来一些实际帮助。ERROR 1820 (HY00
千家信息网最后更新 2025年01月21日mysql密码无法更改处理方案

本文主要给大家简单讲讲mysql密码无法更改处理方案,相关专业术语大家可以上网搜集或者找一些专业书籍补充一下,这里就不涉猎了,直奔主题,希望可以给大家带来一些实际帮助。

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

今天在MySql5.7操作时报错:You must SET PASSWORD before executing this statement解决方法,需要的朋友可以参考下

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)

mysql> create database yan1;
Query OK, 1 row affected (0.00 sec)

也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。
这位仁兄也遇到了相同的问题。

最近新装好的mysql在进入mysql工具时,总是有错误提示:

# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
或者
# mysql -u root -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

现在终于找到解决方法了。本来准备重装的,现在不必了。
方法操作很简单,如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit # /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。

运行mysqld_safe --skip-grant-tables &

如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &

使用mysql连接server

更改密码:update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

而是将加密后的用户密码存储于authentication_string字段

mysql> flush privileges;

mysql> quit;

修改完毕。重启

killall -TERM mysqld。

mysqld_safe &

然后mysql就可以连接了

但是此时操作似乎功能不完全,还要alter user...

alter user 'root'@'localhost' identified by '123';

网文说酱紫也可以:set password for 'root'@'localhost'=password('123');

自启动

cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql

reboot试试看

===========================

以下方法修改比较快捷:

 mysql> SET PASSWORD = PASSWORD('new_password'); Query OK, 0 rows affected (0.01 sec) mysql> SELECT 1; +---+ | 1 | +---+ | 1 | +---+ 
1 row in set (0.00 sec)
mysql密码无法更改处理方案就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

0