- 首页 >
- 问答 >
-
云计算 >
- Linux SQLAdmin权限如何设置
Linux SQLAdmin权限如何设置
小樊
35
2025-12-25 16:56:29
Linux 上 SQLAdmin 权限设置指南
一 概念与前置准备
- SQLAdmin通常指数据库中的管理员账户,并非 Linux 系统账户;权限在数据库内授予,Linux 层面主要做服务与网络访问控制。
- 以常见发行版为例,安装与启动服务:
- CentOS/RHEL:sudo yum install -y mysql-server && sudo systemctl start mysqld && sudo systemctl enable mysqld
- Ubuntu/Debian:sudo apt-get update && sudo apt-get install -y mysql-server && sudo systemctl start mysql && sudo systemctl enable mysql
- 登录数据库:mysql -u root -p(或 sudo -u postgres psql 进入 PostgreSQL)。
二 MySQL 或 MariaDB 设置
- 创建本地管理账户(仅本机访问):
- CREATE USER ‘sqladmin’@‘localhost’ IDENTIFIED BY ‘StrongPass!23’;
- GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘localhost’ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 创建远程管理账户(从指定网段访问,示例为 192.168.1.0/24):
- CREATE USER ‘sqladmin’@‘192.168.1.%’ IDENTIFIED BY ‘StrongPass!23’;
- GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘192.168.1.%’ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 如需从任意主机连接(不建议生产环境使用),将主机部分设为 ‘%’。
- 防火墙放行(以 firewalld 为例):sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp && sudo firewall-cmd --reload。
- 安全建议:优先采用最小权限与网段限制;必要时启用 SSL/TLS 连接;定期轮换密码并审计用户权限。
三 PostgreSQL 设置
- 创建具备创建库与角色权限的管理账户:
- sudo -u postgres psql
- CREATE ROLE sqladmin WITH LOGIN PASSWORD ‘StrongPass!23’ SUPERUSER CREATEDB CREATEROLE;
- \q
- 若仅需管理单个数据库(非超级用户),可按库授权:
- GRANT ALL PRIVILEGES ON DATABASE yourdb TO sqladmin;
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO sqladmin;
- GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO sqladmin;
- 远程访问需同时配置 pg_hba.conf 与 postgresql.conf(如 listen_addresses、port),并放行 5432/tcp 防火墙端口。
四 验证与常见问题
- 连接测试:
- MySQL:mysql -u sqladmin -p -h 服务器IP或主机名
- PostgreSQL:psql -U sqladmin -h 服务器IP或主机名 -d 数据库名
- 常见问题排查:
- 访问被拒:核对用户名、主机匹配(如 localhost 与 % 的区别)、密码是否正确。
- 端口不通:确认防火墙已放行 3306/5432,云服务器安全组策略允许对应端口入站。
- 权限未生效:执行 FLUSH PRIVILEGES;(MySQL/MariaDB)或重新加载 PostgreSQL 配置。
- 日志定位:MySQL 常见日志 /var/log/mysqld.log;PostgreSQL 使用 journalctl -u postgresql 或相应日志目录查看。