服务器的mysql不知什么原因被人改了密码无法访问,百度了若干解决方案都无法执行
主要问题出现在语句mysqld --skip-grant-tables的无法有效执行
不得已去google了官方文档,终于得到解决,不得不说 百度真不是个好东西
具体方案如下:
在任意位置新建一个txt文档,如C:\mysql-init.txt
5.7.6及以后版本输入:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
5.7.5及以前版本输入:
SET PASSWORD FOR'root'@'localhost'=PASSWORD('MyNewPass');
然后cmd进入mysql的bin目录,执行:
mysqld --init-file=C:\\mysql-init.txt
至此密码已经修改完成!
官方文档还提示,如果Alter执行失败,可以尝试语句:
UPDATE mysql.userSET authentication_string =PASSWORD('MyNewPass'), password_expired ='N' WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES;
不过我并没有用上。。。