MySQL 5.6 root密碼丟失,使用mysqld --skip-grant-tables
MySQL 5.6 root密碼丟失,(window平台)使用mysqld –skip-grant-tables啟動MySQL服務,出現警告:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)
解決方法:
Step1:
進 入cmd模式,輸入命令:net stop mysql 停止開機啟動的 mysql services(如果是手動啟動可以跳過Step1,我的pc是開機啟動),我電腦上的mysql services名字是mysql,你的名字可能不一樣!, net stop xxx (xxx代表你的mysql services名字)
Step2:
找到mysql安裝目錄下的 my.ini文件,在[mysqld]下方添加:
explicit_defaults_for_timestamp = true
添加好後像這樣:
[mysqld]
explicit_defaults_for_timestamp = true
Step3:
現在開始使用mysqld命令手動啟動mysql services,既然是手動啟動,肯定要為該命令指定啟動配置文件my.ini的存放路徑,我的路徑是:D:\java\MySQL\ProgramData\MySQL Server 5.6
在cmd模式下輸入:
mysqld --defaults-file="d:\java\MySQL\ProgramData\MySQL Server 5.6\my.ini" --skip-grant-tables
輸入:
mysql -u root
可以看到已經進入mysql>狀態下了,重新給root用戶設置密碼:
mysql>UPDATE mysql.user SET Password=PASSWORD("newpassword") WHERE User='root' and Host='localhost';
Step4:
mysql>FLUSH PRIVILEGES;
加載權限表,讓新密碼生效!