01月24, 2017

mysql无法启动和进入不了数据库的情况下修改root密码

1、照网上的方法安装好mysql,用mysql -install装好mysql服务,mysql -remove删除mysql服务。
2、启动不了mysql,缺少mysql目录下data文件夹和里面的一些内容,删除之前建的data文件夹,由mysql自己创建即可。mysqld --initialize(在bin目录下执行,生产data等文件夹和文件)
3、这样能启动mysql服务了,mysql -uroot -p ,默认密码为空,但是就是进不去。
4、打开mysql中的my.ini(如果没有就将my-default.ini复制一份,并修改为my.ini);在[mysqld]下添加skip-grant-tables;重启mysql,在cmd中输入mysql -uroot -p,按enter无需密码直接进入
5、这个时候update不了root的密码,(网上很多说可以,但是我5.7.17就是不行,说没有password字段)
6、update mysql.user set authentication_string=PASSWORD('fuyu') where User='root'; 使用这句更新
7、my.ini中的[mysqld]下删除skip-grant-tables
8、重启mysql,进去后说 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 需要用ALTER USER的方式重置root的密码。
9、ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; (ALTER USER 'root'@'localhost' IDENTIFIED BY 'fuyu';) //修改root的密码为fuyu
10、之后就可以用新密码来登录了。

本文链接:http://blog.hiraetho.com/post/mysql-change-password.html

-- EOF --

Comments