????????本文將詳細介紹多種修改MySQL密碼的方式。
本文目錄
- 一、alter user 語句
- 操作步驟
- 二、set password
- 操作步驟
- 三、直接修改 mysql.user表
- 操作步驟
一、alter user 語句
當你以 root 用戶或者擁有足夠權限的用戶登錄 MySQL 時,可以使用 ALTER USER
語句來修改密碼。這種方式適用于 MySQL 5.7 及以上版本,簡單直接,且符合 MySQL 的標準操作規范。
操作步驟
- 首先,使用以下命令登錄 MySQL:
mysql -u root -p
輸入密碼后成功登錄到 MySQL 命令行界面。
- 接著,使用
ALTER USER
語句修改密碼。假設要將用戶myuser
的密碼修改為myuser
,可以執行以下 SQL 語句:
ALTER USER 'myuser'@'localhost' IDENTIFIED BY 'myuser';
這里的 'myuser'@'localhost'
表示要修改的是本地登錄的 myuser
用戶的密碼。如果用戶可以從任何主機登錄,可以使用 'myuser'@'%'
。
- 修改完成后,為了讓新密碼立即生效,需要刷新權限:
FLUSH PRIVILEGES;
二、set password
SET PASSWORD
語句同樣適用于在 MySQL 命令行中修改密碼。它在 MySQL 各個版本中都能使用,如果習慣使用 SQL 語句進行操作,這是一個不錯的選擇。
操作步驟
- 同樣先登錄到 MySQL 命令行:
mysql -u root -p
- 然后使用
SET PASSWORD
語句修改密碼。如果要修改當前登錄用戶的密碼,可以執行以下語句:
SET PASSWORD = PASSWORD('12345678');
如果要修改其他用戶的密碼,例如 testuser
的密碼,可以執行:
SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD('newpassword');
- 最后刷新權限:
FLUSH PRIVILEGES;
對于較新的 MySQL 版本,
ALTER USER
語句更為推薦,SET PASSWORD
相對來說不夠規范。
三、直接修改 mysql.user表
當忘記了 MySQL 的 root 密碼,或者無法通過正常方式登錄 MySQL 時,可以使用這種方式。但這種方式操作相對復雜,需要謹慎使用。
操作步驟
- 停止 MySQL 服務:
sudo systemctl stop mysql
- 以跳過權限檢查的方式啟動 MySQL:
sudo mysqld_safe --skip-grant-tables &
- 登錄到 MySQL 命令行:
mysql -u root
- 切換到
mysql
數據庫:
USE mysql;
- 使用
UPDATE
語句修改密碼。假設要修改root
用戶的密碼,可以執行:
UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
在 MySQL 5.7 及以上版本中,密碼字段為 authentication_string
;在早期版本中,可能為 Password
。
- 刷新權限:
FLUSH PRIVILEGES;
- 停止 MySQL 服務:
sudo systemctl stop mysql
- 以正常方式啟動 MySQL 服務:
sudo systemctl start mysql
← 上一篇 Java進階——常用類及常用方法詳解 | 記得點贊、關注、收藏哦! | 下一篇 Java進階——數組超詳細整理 → |