前言
我們在日常開發過程中,可能會遇到各種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';
