1. 程式人生 > 其它 >MySQL 無密碼登入解決方案:Ubuntu 18.04

MySQL 無密碼登入解決方案:Ubuntu 18.04

技術標籤:mysql資料庫

MySQL 安裝後,發現可以無密碼登入,例如 mysql -u root,或 mysql -u root -p,不輸入密碼也可以登入;同時,程式碼中使用 root 使用者和密碼卻無法登入。我上網查了一下,發現是沒有啟用 mysql_native_password plugin 的問題。下面是一個簡短的教程使得 MySQL 必須使用密碼才可以登入。

登入 MySQL:

sudo mysql -u root

注意到這裡沒有使用密碼。

下面執行以下命令,開啟 mysql_native_password:

USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;

重啟 MySQL:

sudo systemctl restart mysql.service

重置 root 密碼:

sudo mysql_secure_installation

建議配置如下,其中會有一個設定密碼強度的選項,選擇 Low:

Enter current password for root (enter for none): 
Would you like to setup VALIDATE PASSWORD plugin?: Y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Set root password?: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users?: Y
Disallow root login remotely?: Y
Remove test database and access to it?:  Y
Reload privilege tables now?:  Y

現在無密碼登入已經不允許了,輸入:

sudo mysql -u root -p
輸入密碼登入。