方法 1:
1. 停止 MySQL 服務
# kill `cat /var/run/mysqld/mysqld.pid`
或者
# pkill mysqld
2. 建立一個密碼賦值語句的文字檔案
# vi mysql-init
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass!6’;
在載入授權表之前重置密碼。
3. 使用—init-file 選項啓動 MySQL 服務
# mysqld –init-file=mysql-init –user=mysql &
4. 刪除文字檔案,使用新密碼連線 MySQL
# rm -f mysql-init
# mysql -uroot -p ‘MyNewPass!6’
5. 停止 MySQL 服務並正常啓動
# kill `cat /var/run/mysqld/mysqld.pid`
# systemctl start mysqld
方法 2:
1. 停止 MySQL 服務
# kill `cat /var/run/mysqld/mysqld.pid`
# pkill mysqld
2. 使用–skip-grant-tables –skip-networking 選項啓動 MySQL 服務
# mysqld –skip-grant-tables –skip-networking –user=mysql
–skip-grant-tables:跳過授權表認證
–skip-networking:加了跳過授權表選項後所有的人都可以無密碼登入,這是很不安全的,此選項不監聽互聯網,防止惡意登入。
3. 無密碼連線 MySQL
# mysql
4. 重置密碼
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass!6’;
5. 停止 MySQL 服務並正常啓動
# kill `cat /var/run/mysqld/mysqld.pid`
# systemctl startmysqld
簡單、快捷、有效,記得收藏哦!萬一哪天 root 密碼找不到了呢!