首页主机资讯Ubuntu MariaDB权限设置指南

Ubuntu MariaDB权限设置指南

时间2025-11-17 13:50:04发布访客分类主机资讯浏览1393
导读:Ubuntu MariaDB权限设置指南 一 基础准备与登录 安装与启动 更新软件源并安装:sudo apt update && sudo apt install mariadb-server 启动并设置开机自启:sud...

Ubuntu MariaDB权限设置指南

一 基础准备与登录

  • 安装与启动
    • 更新软件源并安装:sudo apt update & & sudo apt install mariadb-server
    • 启动并设置开机自启:sudo systemctl start mariadb & & sudo systemctl enable mariadb
  • 安全初始化
    • 运行安全向导:sudo mysql_secure_installation(可移除匿名用户、禁止远程 root 登录、删除测试库等)
  • 登录数据库
    • 本地套接字登录(Ubuntu 常见):sudo mariadb
    • 指定账户登录:mysql -u root -p
  • 备注
    • Ubuntu 上,MariaDB 的 root 账户默认常使用 auth_socket 插件进行本地认证;若需密码登录,可另行创建一个管理员账户再使用密码认证。

二 用户与主机匹配

  • 创建用户语法
    • CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
  • 主机部分说明
    • localhost:仅本机通过 Unix 套接字连接
    • ‘192.168.1.100’:仅允许该 IP 连接
    • ‘%’:任意主机(谨慎使用)
  • 示例
    • 本地只读用户:CREATE USER ‘reader’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
    • 指定网段:CREATE USER ‘app’@‘192.168.10.%’ IDENTIFIED BY ‘StrongPass!’;
    • 远程用户:CREATE USER ‘remote’@‘%’ IDENTIFIED BY ‘StrongPass!’;
  • 重要提示
    • 授权时的 ‘user’@‘host’ 必须与实际创建时一致,否则授权无效或报错。

三 授权与撤销常用命令

  • 授予权限
    • 全局权限:GRANT ALL PRIVILEGES ON . TO ‘admin’@‘localhost’ WITH GRANT OPTION;
    • 单库全部:GRANT ALL PRIVILEGES ON mydb. TO ‘app’@‘192.168.10.%’; *
    • 单库读写:GRANT SELECT, INSERT, UPDATE, DELETE ON mydb. TO ‘app’@‘192.168.10.%’; *
    • 单表权限:GRANT SELECT, INSERT ON mydb.orders TO ‘app’@‘localhost’;
  • 撤销权限
    • 撤销单库全部:REVOKE ALL PRIVILEGES ON mydb. FROM ‘app’@‘192.168.10.%’; *
    • 撤销单表权限:REVOKE SELECT, INSERT ON mydb.orders FROM ‘app’@‘localhost’;
  • 使权限生效
    • FLUSH PRIVILEGES;
  • 角色(MariaDB 10.2+
    • 创建只读角色并授予:CREATE ROLE ‘read_role’; GRANT SELECT ON mydb. TO ‘read_role’; *
    • 将角色授予用户:GRANT ‘read_role’ TO ‘app’@‘192.168.10.%’;
  • 查看与删除
    • 查看权限:SHOW GRANTS FOR ‘app’@‘192.168.10.%’;
    • 删除用户:DROP USER ‘app’@‘192.168.10.%’;
  • 最小权限原则
    • 应用账户避免使用 ALL PRIVILEGESWITH GRANT OPTION,按需授予。

四 远程访问与防火墙

  • 配置监听地址
    • 编辑配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    • bind-address 改为 0.0.0.0(允许来自外部的监听),保存后重启:sudo systemctl restart mariadb
  • 授权远程账户
    • 建议精确主机或网段:GRANT ALL PRIVILEGES ON mydb. TO ‘remote’@‘203.0.113.%’ IDENTIFIED BY ‘StrongPass!’; *
    • 刷新权限:FLUSH PRIVILEGES;
  • 防火墙放行
    • UFW:sudo ufw allow 3306/tcp
    • firewalld:sudo firewall-cmd --add-port=3306/tcp --permanent & & sudo firewall-cmd --reload
  • 安全建议
    • 避免使用 ‘%’ 开放到全网;优先限定为固定 IP/网段,并配合强密码与最小权限。

五 文件系统与运维安全

  • 数据目录与配置权限
    • 数据目录:sudo chown -R mysql:mysql /var/lib/mysql
    • 配置目录:sudo chown -R root:root /etc/mysql & & sudo chmod -R 755 /etc/mysql
  • 验证与审计
    • 查看用户列表:SELECT User, Host FROM mysql.user;
    • 查看当前登录用户:SELECT USER(), CURRENT_USER();
  • 安全建议
    • 禁止在生产环境使用 root 远程登录;为运维或应用分别创建最小权限账户;定期清理无用账户与权限。

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


若转载请注明出处: Ubuntu MariaDB权限设置指南
本文地址: https://pptw.com/jishu/748902.html
Node.js在Debian中如何实现实时通信 Ubuntu MariaDB使用心得分享

游客 回复需填写必要信息