前言
我们在日常开发过程中,可能会遇到各种mysql服务无法启动的情况,各种百度谷歌之后,依然不能解决的时候,可以考虑重新初始化mysql。简单说就是重置,“恢复出厂设置”。重置之后,所有的数据都将被清空丢失,所以一定要备份好重要的数据库,就是data目录下面那些数据库文件,具体情况请百度,这不是本文的重点,就不多说明了。
严重提醒:数据无价,切记备份。
正文
重置MYSQL有两种方式:
1.重新安装mysql,简单粗暴,此处不做说明。
2.通过命令清空数据库,重新初始化mysql服务。
1.以管理员身份打开cmd命令提示符
2.停止mysql服务
1 net stop mysql;
3.删除mysql服务
1 mysqld remove;
4.删除mysql安装目录下的data文件夹,可以通过命令查找mysql的数据库目录
1 select @@datadir;
5.初始化mysql,重新初始化mysql之后,将重新生成data目录
1 mysqld --initialize;
同时会生成随机登陆密码,密码可以在data目录中后缀名为err的文件中找到。用记事本打开err文件,查找password,即可发现随机登陆密码。
初始化时,也可以通过增加insecure参数来生成空密码。
1 mysqld --initialize-insecure;
6.注册mysql服务
1 mysqld install;
7.启动mysql服务
1 net start mysql;
8.使用root账号登陆mysql
1 mysql -uroot -pvgg6aOURg(uy;
9.修改新密码
1 ALTER USER 'root'@'localhost' IDENTIFIED BY 'sa123';
修改完成,即可通过新密码登陆,完整命令及执行过程如下图所示。
生成随机密码
1 net stop mysql; 2 mysqld remove; 3 mysqld --initialize; 4 mysqld install; 5 net start mysql; 6 mysql -uroot -pvgg6aOURg(uy; 7 ALTER USER 'root'@'localhost' IDENTIFIED BY 'sa123';
生成空密码
1 net stop mysql; 2 mysqld remove; 3 mysqld --initialize-insecure; 4 mysqld install; 5 net start mysql; 6 mysql -uroot -p 7 ALTER USER 'root'@'localhost' IDENTIFIED BY 'sa123';