在 CentOS 上(无论是 CentOS 7/8 还是使用 MariaDB/MySQL),授权用户通常是通过 MySQL 命令行 完成的。下面按常见场景说明。
mysql -u root -p
输入 root 密码后进入 MySQL 命令行。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
示例:
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';
说明:
localhost:仅本地连接%:允许远程连接(任意 IP)'testuser'@'192.168.1.100'GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';
示例:
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'localhost';
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'host';
示例:
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE
ON dbname.*
TO 'username'@'host';
GRANT ALL PRIVILEGES ON dbname.* TO 'testuser'@'%';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'username'@'host';
REVOKE ALL PRIVILEGES ON dbname.* FROM 'username'@'host';
如果允许用户远程连接,还需:
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
编辑:
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;
如果你能说明:
我可以给你更精确的命令。