首页主机资讯Debian MariaDB权限设置如何操作

Debian MariaDB权限设置如何操作

时间2026-01-22 08:00:09发布访客分类主机资讯浏览1330
导读:Debian 上 MariaDB 权限设置实操指南 一 环境准备与登录 安装并启动服务:sudo apt update && sudo apt install mariadb-server;sudo systemctl s...

Debian 上 MariaDB 权限设置实操指南

一 环境准备与登录

  • 安装并启动服务:sudo apt update & & sudo apt install mariadb-server;sudo systemctl start mariadb & & sudo systemctl enable mariadb。
  • 运行安全初始化:sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止 root 远程登录、删除 test 库等)。
  • 登录数据库:mysql -u root -p。以上步骤适用于 Debian 10/11/12 等常见版本。

二 核心操作速查

  • 创建用户:CREATE USER ‘用户名’@‘主机’ IDENTIFIED BY ‘密码’;
  • 授予权限:GRANT 权限 ON 库.表 TO ‘用户名’@‘主机’;
  • 刷新权限:FLUSH PRIVILEGES;
  • 查看权限:SHOW GRANTS FOR ‘用户名’@‘主机’;
  • 撤销权限:REVOKE 权限 ON 库.表 FROM ‘用户名’@‘主机’;
  • 删除用户:DROP USER ‘用户名’@‘主机’;
  • 主机说明:localhost 仅本机,% 任意主机,192.168.1.% 指定网段。以上语法为 MariaDB 通用语法,在 Debian 上同样适用。

三 常见场景与命令示例

  • 为应用创建最小权限用户(推荐):
    CREATE DATABASE IF NOT EXISTS myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER ‘app’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON myapp.* TO ‘app’@‘localhost’;
    FLUSH PRIVILEGES;
    SHOW GRANTS FOR ‘app’@‘localhost’;
  • 只读账号:
    CREATE USER ‘reader’@‘192.168.1.%’ IDENTIFIED BY ‘RdOnly!23’;
    GRANT SELECT ON myapp.* TO ‘reader’@‘192.168.1.%’;
    FLUSH PRIVILEGES;
  • 允许远程管理(谨慎):
    CREATE USER ‘admin’@‘%’ IDENTIFIED BY ‘Adm!nPass’;
    GRANT ALL PRIVILEGES ON . TO ‘admin’@‘%’ WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  • 撤销与删除:
    REVOKE ALL PRIVILEGES ON myapp.* FROM ‘app’@‘localhost’;
    DROP USER ‘app’@‘localhost’;
  • 注意:授权时的 ‘用户名’@‘主机’ 必须与实际连接来源一致,例如使用 ‘%’ 远程连接时,创建用户也要用 ‘user’@‘%’

四 远程访问与防火墙

  • 修改绑定地址:编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address 改为 0.0.0.0(或注释掉该行以监听所有地址),保存后重启:sudo systemctl restart mariadb。
  • 防火墙放行:sudo ufw allow 3306/tcp(如使用 UFW);云服务器还需在安全组放行 3306
  • 安全建议:避免使用 root@‘%’;为远程管理单独建账号并限制来源网段;仅开放必要权限。

五 验证与排错

  • 本机验证:mysql -u 用户名 -p -h 127.0.0.1;远程验证:mysql -u 用户名 -p -h 服务器IP -P 3306
  • 查看用户与主机:SELECT user,host FROM mysql.user;
  • 查看当前登录用户:SELECT user(), current_user();
  • 权限未生效多为未执行 FLUSH PRIVILEGES; 或用户 Host 与连接来源不匹配;远程连不上时,核对 bind-address、防火墙/云安全组、以及账号的 ‘user’@‘host’ 是否一致。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian MariaDB权限设置如何操作
本文地址: https://pptw.com/jishu/789749.html
Debian MariaDB版本更新影响大吗 Debian MariaDB数据库迁移方法

游客 回复需填写必要信息