温馨提示×

Debian MySQL怎么创建用户

小樊
43
2026-07-15 20:16:48
栏目: 云计算

Debian 上给 MySQL 创建用户的常见做法如下(适用于 MySQL 5.7 / 8.0,以及 Debian 10/11/12)。


一、登录 MySQL

sudo mysql -u root -p

输入 root 密码后进入 MySQL 命令行。


二、创建 MySQL 用户

1️⃣ 基本创建用户(MySQL 8.0 推荐方式)

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

示例:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'StrongPass@123';

说明:

  • localhost:只能本机连接
  • '%':允许任意远程连接(不推荐直接这样用)

三、给用户授权

2️⃣ 授权某个数据库

GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'主机';

示例:

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';

3️⃣ 授权只读权限

GRANT SELECT ON testdb.* TO 'testuser'@'localhost';

4️⃣ 授权所有数据库(慎用)

GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'localhost' WITH GRANT OPTION;

四、刷新权限(MySQL 8.0 通常不需要,但建议)

FLUSH PRIVILEGES;

五、查看用户和权限

查看所有用户

SELECT user, host FROM mysql.user;

查看某用户权限

SHOW GRANTS FOR 'testuser'@'localhost';

六、删除用户(可选)

DROP USER 'testuser'@'localhost';

七、常见问题

✅ Debian 上 MySQL root 无法登录?

可能是使用了 auth_socket 插件:

SELECT user, host, plugin FROM mysql.user WHERE user='root';

如需改为密码登录:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

八、推荐安全做法

  • 不要用 root 跑业务程序
  • 每个应用单独一个用户
  • 最小权限原则(不用 ALL PRIVILEGES 除非必要)
  • 生产环境避免 '%' 主机

如果你愿意,可以告诉我:

  • MySQL 版本(mysql --version
  • 是否要 远程连接
  • 给哪个应用用(如 WordPress / Django / Docker)

我可以给你更精确的命令 ✅

0