问题描述:
mysql8安装过程中修改密码或者要修改密码时出现1290错误ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot exe
原因分析:
这是在修改密码时,进行了配置,在mysql中的my.cnf 文件中配置了跳过密码验证的步骤。但是,这个错误正是因为你跳过了密码验证所报的错,就造成了死循环!
修改跳过密码的步骤:
错误:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
这个是mysql服务没有启动的原因,可是我明明启动MySQL8的服务,关掉了MySQL5的服务,一切应该正常啊,,,无奈之下几经波折又找到了另外的解决方案。**先免密登录,再清除掉root密码,**然后正常登录,后修改密码即可,。
MySQL8免密登录:以管理员身份运行cmd,进入bin目录下,输入:
mysqld --console --skip-grant-tables --shared-memory
之前的版本,输入:
mysqld –skip-grant-tables
然后再开一个cmd窗口(不必以管理员身份,此时前一个窗口并未结束),输入mysql -uroot即可进入,进入之后输入以下命令,删除掉默认密码
use mysql
select host,user,authentication_string,plugin from user; //查询可以看到是有密码的
update user set authentication_string = '' where user = 'root'; //将密码置空
然后将MySQL8服务重启,接着再开一个cmd(不必管理员身份),进入MySQL
mysql -P3307 -u root -p
解决方案:
刷新一下权限!//刷新权限
flush privileges;
//修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';"
问题应该就解决了!!!!