mysql如何创建用户_mysql新用户创建方法

来源:这里教程网 时间:2026-02-28 20:31:25 作者:

MySQL 创建用户主要通过

CREATE USER
语句完成,配合
GRANT
授予对应权限。从 MySQL 5.7 开始推荐使用该方式,安全且语义清晰。

使用 CREATE USER 创建新用户

基本语法如下(以用户名

app_user
、密码
secure123
、仅允许本地登录为例):

CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'secure123';

'app_user'@'localhost'
表示用户只能从本机连接;若需远程访问,把
localhost
换成
'%'
(任意主机)或具体 IP,如
'192.168.1.100'
密码必须用单引号包裹,且建议使用强密码 执行后用户仅存在,但无任何数据库操作权限

用 GRANT 授权给新用户

创建用户后需显式授权,例如赋予对数据库

myapp_db
的全部权限:

GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';

ALL PRIVILEGES
可替换为更具体的权限,如
SELECT, INSERT, UPDATE
myapp_db.*
表示该库下所有表;也可指定表,如
myapp_db.users
授权后必须执行
FLUSH PRIVILEGES;
刷新权限表(部分高版本 MySQL 在
GRANT
后自动刷新,但显式执行更稳妥)

一步创建并授权(兼容旧习惯)

MySQL 5.7 之前常用

GRANT
直接创建用户,现在仍支持:

GRANT SELECT, INSERT ON myapp_db.orders TO 'report_user'@'%' IDENTIFIED BY 'readonly2024';

该语句会自动创建用户(如果不存在),并直接授权 注意:这种方式在严格 SQL 模式或某些部署策略中可能被禁用,建议优先用
CREATE USER + GRANT
分步操作
同样需要
FLUSH PRIVILEGES;
确保生效

验证与后续管理

创建完成后可登录验证:

mysql -u app_user -p -h 127.0.0.1

查看用户列表:
SELECT User, Host FROM mysql.user;
查看某用户权限:
SHOW GRANTS FOR 'app_user'@'localhost';
修改密码:
ALTER USER 'app_user'@'localhost' IDENTIFIED BY 'newpass123';
删除用户:
DROP USER 'app_user'@'localhost';

相关推荐