Ubuntu 中 SQLAdmin 用户账户管理指南
一 概念澄清
- sqladmin在 Ubuntu 环境中通常有两种含义:其一是指操作系统层面的数据库管理账户(如用于运维数据库的 Ubuntu 用户);其二是指 phpMyAdmin 的简称或组件,用于在 Web 界面管理 MySQL/MariaDB。理解这一点有助于选择正确的管理路径与命令。
二 操作系统层面的 sqladmin 账户管理
- 创建与设置密码
- 创建系统用户:sudo adduser sqladmin
- 设置强密码:sudo passwd sqladmin
- 赋予管理员权限(按需)
- 加入 sudo 组:sudo usermod -aG sudo sqladmin
- 通过 visudo 精确授权(推荐):在 /etc/sudoers 中添加条目:sqladmin ALL=(ALL:ALL) ALL
- 修改与删除
- 修改密码:sudo passwd sqladmin
- 锁定/解锁:sudo passwd -l sqladmin / sudo passwd -u sqladmin
- 删除用户:仅删除账户 sudo deluser sqladmin;连同主目录一并删除 sudo deluser --remove-home sqladmin(亦可用 userdel -r sqladmin)
- 常用查询
- 查看用户与组信息:id sqladmin、groups sqladmin
- 安全建议
- 涉及 sudoers 的修改务必使用 visudo,避免语法错误导致 sudo 不可用;删除或修改账户前先做好数据与配置备份。
三 数据库层面的用户管理 MySQL 与 MariaDB
- 登录数据库
- 本地管理:sudo mysql -u root -p
- 创建与授权
- 创建管理员用户(示例限定本地):CREATE USER ‘sqladmin’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
- 授予全局权限(谨慎):GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘localhost’ WITH GRANT OPTION;
- 刷新权限:FLUSH PRIVILEGES;
- 细粒度授权示例
- 仅对单库授权:GRANT SELECT, INSERT, UPDATE, DELETE ON mydb. TO ‘sqladmin’@‘localhost’;*
- 撤销与删除
- 撤销权限:REVOKE INSERT ON mydb. FROM ‘sqladmin’@‘localhost’;*
- 删除用户:DROP USER ‘sqladmin’@‘localhost’;
- 工具与补充
- 也可通过 phpMyAdmin 在 Web 界面执行上述用户与权限操作(安装后访问 http://服务器IP/phpmyadmin)。
四 数据库层面的用户管理 PostgreSQL
- 登录数据库
- 切换到 postgres 用户并进入 psql:sudo -u postgres psql
- 创建与授权
- 创建用户:CREATE USER sqladmin WITH PASSWORD ‘StrongPass!’;
- 授予数据库权限:GRANT ALL PRIVILEGES ON DATABASE your_db TO sqladmin;
- 授予模式对象权限(示例为 public):GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO sqladmin;
- 如需创建数据库:ALTER USER sqladmin CREATEDB;
- 撤销与删除
- 撤销权限:REVOKE ALL PRIVILEGES ON DATABASE your_db FROM sqladmin;
- 删除用户:DROP USER sqladmin;。
五 安全与运维最佳实践
- 坚持最小权限原则:避免使用 **GRANT ALL PRIVILEGES ON . **,按库/表/角色细化授权。
- 限制来源主机:如 ‘sqladmin’@‘localhost’ 或指定内网网段,避免从任意主机连接。
- 强口令与轮换:使用包含大小写、数字与符号的强密码,并定期更换。
- 审计与备份:启用数据库日志与定期审计;使用 mysqldump 等工具进行备份与恢复演练。