- 使用CREATE USER语句创建用户,如CREATE USER 'zhangsan'@'%' IDENTIFIED BY 'Passw0rd!2024'; 2. 通过GRANT命令授予权限,如GRANT SELECT, INSERT, UPDATE, DELETE ON test_db.* TO 'zhangsan'@'%'; 3. 执行FLUSH PRIVILEGES刷新权限;4. 可查询mysql.user表查看用户或用DROP USER删除用户,注意合理设置主机和权限以保障安全。
在MySQL中创建用户是数据库管理的基础操作之一,主要用于分配不同权限给不同人员,保障数据安全。创建用户的过程包含用户名定义、主机访问限制设置以及密码配置。下面详细介绍几种常用方式。
使用CREATE USER语句创建用户
这是最标准的创建用户方法,适用于MySQL 5.7及以上版本。基本语法如下:
CREATE USER '用户名'@'主机地址' IDENTIFIED BY '密码';
说明:
用户名
:指定新用户的名称,如admin、dev_user等。
主机地址
:表示该用户从哪台主机连接。常见值有:
localhost:仅本地访问
%:允许从任意IP连接(注意安全)
具体IP,如192.168.1.100
密码
:建议使用强密码,避免空密码或简单密码。
示例:
CREATE USER 'zhangsan'@'%' IDENTIFIED BY 'Passw0rd!2024';
为用户授权(GRANT)
创建用户后,默认没有权限,需通过GRANT命令赋予权限。
GRANT 权限类型 ON 数据库名.表名 TO '用户名'@'主机地址';
常见权限包括SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES等。
示例:授予zhangsan对test_db所有表的读写权限
MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载
GRANT SELECT, INSERT, UPDATE, DELETE ON test_db.* TO 'zhangsan'@'%';
执行完授权后,记得刷新权限:
FLUSH PRIVILEGES;
查看和删除用户
可通过查询
mysql
.user表查看已创建用户:
SELECT User, Host FROM mysql.user;
删除用户使用DROP USER语句:
DROP USER 'zhangsan'@'%';
此操作会彻底移除用户及其权限记录。
基本上就这些。创建用户时注意合理设置主机范围和权限粒度,避免过度授权带来的安全风险。MySQL用户管理虽不复杂,但细节决定安全性。