Debian系统中常见的SQL数据库包括MySQL/MariaDB、PostgreSQL和SQL Server,以下分别介绍各数据库管理员权限的设置方法。
更新系统包列表并安装MySQL:
sudo apt update && sudo apt install mysql-server
安装过程中会提示设置root用户密码(必记)。
运行安全脚本优化初始配置:
sudo mysql_secure_installation
按提示操作:设置/确认root密码、删除匿名用户、禁止root远程登录、删除test数据库。
使用root用户本地登录:
sudo mysql -u root -p
输入密码后进入MySQL命令行。
创建新管理员用户(如admin_user),并授予全局所有权限:
CREATE USER 'admin_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
*.*:表示所有数据库的所有表;WITH GRANT OPTION:允许用户授予他人权限。退出当前会话,用新用户登录测试:
mysql -u admin_user -p
输入密码后,尝试创建数据库或授权,确认权限生效。
更新系统并安装PostgreSQL及扩展工具:
sudo apt update && sudo apt install postgresql postgresql-contrib
安装完成后,PostgreSQL会自动创建默认管理员用户postgres(操作系统用户)。
postgres用户并登录sudo -u postgres bash
psql
进入PostgreSQL命令行(提示符为postgres=#)。
postgres用户密码\password postgres
输入并确认新密码(用于后续登录)。
创建具有超级用户权限的角色(如db_admin):
CREATE ROLE db_admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'SecurePass456!';
SUPERUSER:拥有所有数据库操作权限;CREATEDB:可创建数据库;CREATEROLE:可创建角色。编辑pg_hba.conf文件(位于/etc/postgresql/<version>/main/),允许特定IP访问:
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/15/main/pg_hba.conf
sudo echo "host all all 192.168.1.0/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
修改postgresql.conf文件,允许监听所有IP:
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /etc/postgresql/15/main/postgresql.conf
重启服务使配置生效:
sudo systemctl restart postgresql
退出postgres用户,用db_admin登录:
psql -U db_admin -d postgres -h localhost
输入密码后,尝试创建数据库或角色,验证权限。
更新系统并添加Microsoft SQL Server仓库:
sudo apt update && sudo apt install -y curl gnupg apt-transport-https
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/$(lsb_release -rs)/prod stable main" | sudo tee /etc/apt/sources.list.d/mssql-server.list > /dev/null
sudo apt update && sudo apt install -y mssql-server
运行配置工具设置SA(系统管理员)密码:
sudo /opt/mssql/bin/mssql-conf setup
选择SA用户并设置强密码(必记)。
sudo apt install -y mssql-tools unixodbc-dev
将工具路径加入环境变量:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
使用SA用户本地登录:
sqlcmd -S localhost -U SA -P 'YourStrongSAPassword!'
进入sqlcmd命令行(提示符为1>)。
创建登录名(如sql_admin):
CREATE LOGIN sql_admin WITH PASSWORD = 'ComplexPass789!';
在目标数据库(如master)中创建用户并关联登录名:
USE master;
CREATE USER sql_admin FOR LOGIN sql_admin;
将用户添加到sysadmin固定服务器角色(拥有所有权限):
ALTER SERVER ROLE sysadmin ADD MEMBER sql_admin;
退出sqlcmd,用sql_admin登录测试:
sqlcmd -S localhost -U sql_admin -P 'ComplexPass789!'
输入密码后,尝试创建数据库或修改服务器配置,验证权限。
123456),建议包含大小写字母、数字和特殊字符。ufw)限制访问IP。SHOW GRANTS(MySQL)、\du(PostgreSQL)、SELECT * FROM sys.server_permissions(SQL Server)查看权限分配,及时撤销不必要的权限。