[实践OK]很实用!mysql忘记密码mysql免密码登录的配置修改,LNMP重置MYSQL密码方法,不同版本不大一样。

jack 2015-5-13 13:56 | |
经常给别人安装lnmp但是安装时间过长MYSQL密码容易忘记,在这里给大家介绍下如何更改密码。

1.停掉LNMP

/root/lnmp stop

2.修改MYSQL配置文件

vim /etc/my.cnf

光标到[mysqld]后面按一次“i”进入插入模式,然后按enter回车输入“skip-grant-tables”,在按ESC输入“:wq”回车即可保存。

3.启动LNMP

/root/lnmp start

4.修改密码

mysql
update user set Password = password ( '123456' ) where user = 'root' ;
exit

其中123456就是你的新密码,别忘记最后的分号要不然是不会更新好的。
MySql 5.7.19 忘记密码:
update mysql.user set authentication_string=PASSWORD('你的密码') where User='root';
flush privileges;

5.将刚才配置过的my.cnf修改回来,删除掉skip-grant-tables即可,这样安全。

6.重启LNMP。

/root/lnmp restart

来自:http://jinzhe.net/post/42.html
Windows是my.ini,Linux是my.cnf:


步骤:
不要一上来就修改密码,会报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

[mysqld]
skip-grant-tables
skip-networking
innodb_fast_shutdown = 1
character_set_server = utf8


先这样操作:(一定要注意修改新的密码要写对,别多了一个❗️导致不对)
-- 刷新权限表(重要!)
FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Asdfjkl;****;
Query OK, 0 rows affected (0.05 sec)
FLUSH PRIVILEGES; #-- 再次刷新权限

-- 方法2:MySQL 5.7.5 及更早版本使用 SET PASSWORD
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewStrongPassword123!');

-- 方法3:直接更新权限表(通用,但较旧的方式)
UPDATE mysql.user SET authentication_string = PASSWORD('NewStrongPassword123!')
WHERE user = 'root' AND host = 'localhost';

-- 再次刷新权限
FLUSH PRIVILEGES;

-- 退出
EXIT;

作者:jack@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/8048/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jack 编辑于2026-2-25 11:15
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]