Debian MariaDB权限控制主要通过用户管理、权限分配及安全配置实现,具体操作如下:
用户管理
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
(如 CREATE USER 'dev'@'localhost' IDENTIFIED BY '123456';
,localhost
表示仅本地登录)DROP USER '用户名'@'主机名';
权限分配
GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'主机名';
(如 GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'localhost';
授予所有权限)GRANT CREATE USER, CREATE DATABASE ON *.* TO '用户名'@'主机名';
FLUSH PRIVILEGES;
安全配置
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
并修改配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf
,将 bind-address
设为 127.0.0.1
。DELETE FROM mysql.user WHERE User = '';
FLUSH PRIVILEGES;
sudo ufw allow 3306/tcp # 仅允许必要IP访问
sudo ufw reload
验证与维护
SHOW GRANTS FOR '用户名'@'主机名';
mysql.user
表,清理无用账户,确保权限最小化。关键原则:遵循“最小权限原则”,仅授予必要权限,优先使用本地登录,避免暴露敏感数据。