RHEL AS 預設安裝 MySQL 時,root 帳號密碼為空。若直接啟用服務對外提供存取,極易造成資料洩露或惡意破壞。因此,系統交付後必須立即完成 root 密碼設定。
兩種方式擇一:
setup 開啟 mysqld 服務,重啟主機。/etc/init.d/mysqld start 或 systemctl start mysqld(RHEL 7+)。/usr/bin/mysqladmin -u root -p password 'NewPass123'
# 提示 Enter password: 直接按 Enter(初始密碼為空)
注意:密碼以明文顯示於命令列,建議在安全環境下操作,或改用下文的 SQL 方式。
mysql -u root -p
# 輸入新密碼,成功進入 mysql> 提示符
exit # 或 quit 退出
INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'user_name', PASSWORD('your_pass'));
SET PASSWORD FOR 'user_name'@'%' = PASSWORD('your_pass');
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'user_name'@'%' IDENTIFIED BY 'your_pass';
mysqladmin -u root password 'your_pass'
所有修改權限表的操作均需執行 FLUSH PRIVILEGES 或 mysqladmin reload 使其生效。
config.inc.php 等應用配置檔,同步更新連線密碼。