2. 用户管理

用户信息存在系统库 mysql 的 user 表里。一个用户由"用户名@主机"唯一确定,主机可用 % 表示任意主机、localhost 表示仅本机。

sql
-- 创建用户:test1 可从任意主机登录,密码123456
CREATE USER 'test1'@'%' IDENTIFIED BY '123456';

-- 仅本机登录的用户
CREATE USER 'test2'@'localhost' IDENTIFIED BY '123456';

修改密码(三种方式):

sql
-- 方式1:SET PASSWORD(登录后改自己)
SET PASSWORD = PASSWORD('newpwd');

-- 方式2:UPDATE user 表(管理员改他人)
UPDATE mysql.user SET authentication_string=PASSWORD('new')
WHERE User='test3' AND Host='localhost';
FLUSH PRIVILEGES;

-- 方式3:ALTER USER(MySQL 5.7+/8.0 推荐)
ALTER USER 'test2'@'localhost' IDENTIFIED BY 'newpwd';

删除用户:

sql
DROP USER 'test3'@'localhost';   -- 推荐
-- 或 DELETE FROM mysql.user WHERE User='test4'; FLUSH PRIVILEGES;
⚠️ root 用户不能被删除。改密码、删用户后若用 UPDATE 直接改 mysql.user 表,必须执行 FLUSH PRIVILEGES; 刷新权限缓存才生效。