# 首次設定(預設空密碼)
mysqladmin -u root password 'NewPass123!'
# 已有密碼修改
mysqladmin -u root -p'OldPass' password 'NewPass123!'
注意:-p 後緊接舊密碼無空格,password 後有空格再接新密碼。
mysql -u root -p
-- MySQL 5.7
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass123!');
-- MySQL 8.0
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
mysql -u root -p
USE mysql;
-- 5.7
UPDATE user SET authentication_string = PASSWORD('NewPass123!') WHERE User = 'root';
-- 8.0
UPDATE user SET authentication_string = '' WHERE User = 'root'; -- 先清空
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;
# 1. 停止服務
systemctl stop mysqld
# 2. 跳過權限啟動
mysqld_safe --skip-grant-tables --skip-networking &
# 3. 免密登入
mysql -u root
# 4. 修改密碼
-- 5.7
UPDATE mysql.user SET authentication_string = PASSWORD('NewPass123!') WHERE User='root';
FLUSH PRIVILEGES;
-- 8.0
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;
# 5. 正常重啟
mysqladmin -u root -p'NewPass123!' shutdown
systemctl start mysqld
config.inc.php:$cfg['Servers'][$i]['password'] = 'NewPass123!';validate_password 要求