在 Ubuntu 上修改 MySQL 密码,常见有几种情况,下面按最常用、最安全的方式给你说明。
mysql -u root -p
输入当前 root 密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
或者(MySQL 8.0 推荐):
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
EXIT;
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
如果是老版本:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
EXIT;
sudo systemctl restart mysql
Ubuntu 默认 root 可能用 auth_socket,不能直接用密码登录。
查看:
SELECT user, host, plugin FROM mysql.user;
如果是 auth_socket,改回密码登录:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';
如果你告诉我:
mysql -V)我可以给你精确命令。