新版MySQL忘記密碼、只能超級使用者sudo登入解決方法
阿新 • • 發佈:2018-11-04
根本方法:
修改MySQL配置檔案,新增一句skip-grant-tables,重啟即可無需密碼登入
舊版MySQL
在Ubuntu,預設安裝配置檔案全路徑 /etc/mysql/my.cnf
新版MySQL
對於5.7.23等高版本,配置檔案路徑和命令已經改變
此時的 /etc/mysql/my.cnf 檔案已經是一個軟連結,裡面只有指向連結的語句。
真正的配置檔案是 /etc/mysql/mysql.conf.d/mysqld.cnf
具體操作
新增完 skip-grant-tables 後, 重啟MySQL
可用的重啟指令
sudo/etc/init.d/mysql restart
sudo service mysql restart
之後可用直接輸入 mysql, 或者mysql -uroot -p 誰便輸入都可以進去
進入後,
- 先選擇mysql資料庫
USE mysql;
- 給root使用者設定新密碼
update mysql.user set authentication_string=password('新密碼') where user='root' and Host ='localhost';
-
退出刪掉skip-grant-tables重啟即可
-
若開啟還錯誤,請使用root使用者/sudo mysql -uroot -p 開啟 ,然後輸入以下即可解決
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';