温馨提示×

centos mysql怎样授权用户

小樊
41
2026-10-26 06:37:55
栏目: 云计算

在 CentOS 上(无论是 CentOS 7/8 还是使用 MariaDB/MySQL),授权用户通常是通过 MySQL 命令行 完成的。下面按常见场景说明。


一、登录 MySQL

mysql -u root -p

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


二、创建用户(如尚未创建)

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

示例:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';

说明:

  • localhost:仅本地连接
  • %:允许远程连接(任意 IP)
  • 指定 IP:'testuser'@'192.168.1.100'

三、授权用户(核心)

1️⃣ 授权所有数据库、所有权限(管理员)

GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';

示例:

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

2️⃣ 授权某个数据库的所有权限

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'host';

示例:

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

3️⃣ 授权部分权限(更安全)

GRANT SELECT, INSERT, UPDATE, DELETE
ON dbname.*
TO 'username'@'host';

4️⃣ 授予远程访问权限

GRANT ALL PRIVILEGES ON dbname.* TO 'testuser'@'%';

四、刷新权限(必须)

FLUSH PRIVILEGES;

五、查看用户权限

SHOW GRANTS FOR 'username'@'host';

六、撤销权限(可选)

REVOKE ALL PRIVILEGES ON dbname.* FROM 'username'@'host';

七、CentOS 远程连接注意点

如果允许用户远程连接,还需:

1️⃣ 防火墙放行 3306

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

2️⃣ MySQL 配置允许远程

编辑:

vim /etc/my.cnf
# 或
vim /etc/my.cnf.d/server.cnf

确保:

bind-address = 0.0.0.0

重启:

systemctl restart mysqld
# 或
systemctl restart mariadb

八、示例完整流程

CREATE USER 'app'@'%' IDENTIFIED BY 'App@123';
GRANT ALL PRIVILEGES ON appdb.* TO 'app'@'%';
FLUSH PRIVILEGES;

如果你能说明:

  • 用的是 MySQL 还是 MariaDB
  • 本地还是远程
  • 需要哪种权限

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

0 踩