mysql用户怎么添加_mysql添加新用户并授权的详细步骤

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

在MySQL中添加新用户并授权需要通过SQL命令操作,通常使用

CREATE USER
创建用户,再用
GRANT
语句分配权限。以下是详细步骤。

1. 登录MySQL管理账户

打开终端或命令行工具,使用具有管理员权限的账户(如root)登录MySQL:

mysql -u root -p

输入密码后进入MySQL命令行界面。

2. 创建新用户

使用

CREATE USER
语句创建用户,语法如下:

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';

示例:创建一个名为

devuser
的用户,允许从本地连接,密码为
DevPass123!

CREATE USER 'devuser'@'localhost' IDENTIFIED BY 'DevPass123!';

若允许该用户从任意IP连接,可将主机设为

'%'

CREATE USER 'devuser'@'%' IDENTIFIED BY 'DevPass123!';

3. 授予权限

使用

GRANT
语句为用户分配权限。常见权限包括
SELECT
INSERT
UPDATE
DELETE
ALL PRIVILEGES
等。

语法:

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机';

示例:

授予
devuser
mydb
数据库所有表的读写权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'devuser'@'localhost';授予全部权限(谨慎使用): GRANT ALL PRIVILEGES ON mydb.* TO 'devuser'@'localhost';只授予查询权限: GRANT SELECT ON mydb.users TO 'devuser'@'localhost';

4. 刷新权限

执行以下命令使权限立即生效:

FLUSH PRIVILEGES;

5. 验证权限设置

可通过以下命令查看用户权限:

SHOW GRANTS FOR 'devuser'@'localhost';

确认输出中包含已授予的权限。

6. 可选:设置远程访问(需配置MySQL服务)

如果用户从远程连接(如

'devuser'@'%'
),需确保:

MySQL监听公网IP(检查
my.cnf
mysqld.cnf
中的
bind-address
,可设为
0.0.0.0
或注释掉)
防火墙开放3306端口 操作系统防火墙或云服务器安全组允许访问

7. 测试新用户登录

退出当前会话,使用新用户登录测试:

mysql -u devuser -p

输入密码后,尝试执行相关操作验证权限是否正确。

基本上就这些。注意权限粒度要合理,避免随意授予

ALL PRIVILEGES
,尤其是生产环境。定期审查用户和权限也是一种良好习惯。

相关推荐

热文推荐