前言
我们在日常开发过程中,可能会遇到各种mysql服务无法启动的情况,各种百度谷歌之后,依然不能解决的时候,可以考虑重新初始化mysql。简单说就是重置,“恢复出厂设置”。重置之后,所有的数据都将被清空丢失,所以一定要备份好重要的数据库,就是data目录下面那些数据库文件,具体情况请百度,这不是本文的重点,就不多说明了。
严重提醒:数据无价,切记备份。
正文
重置MYSQL有两种方式:
1.重新安装mysql,简单粗暴,此处不做说明。
2.通过命令清空数据库,重新初始化mysql服务。
1.以管理员身份打开cmd命令提示符
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/07b4cbaba9223177.jpeg)
2.停止mysql服务
1 net stop mysql;
3.删除mysql服务
1 mysqld remove;
4.删除mysql安装目录下的data文件夹,可以通过命令查找mysql的数据库目录
1 select @@datadir;
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/a48016bccd502fc6.jpeg)
5.初始化mysql,重新初始化mysql之后,将重新生成data目录
1 mysqld --initialize;
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/90b433048597e7dd.jpeg)
同时会生成随机登陆密码,密码可以在data目录中后缀名为err的文件中找到。用记事本打开err文件,查找password,即可发现随机登陆密码。
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/3845553816ba2c29.jpeg)
初始化时,也可以通过增加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";
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/5dfa36446d004ea3.jpeg)
生成空密码
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";
![0](https://img1.php1.cn/3cd4a/24e5b/c5a/8b8282de90e6e93a.jpeg)
本文整理自https://blog.csdn.net/baobei0220/article/details/90265681和https://blog.csdn.net/wzj_3187/article/details/80274334