请问数据库的登录账号和密码具体是什么信息呢?
- 内容介绍
- 文章标签
- 相关推荐
登录名和密码是第一道防线。许多开发者和运维人员常常遇到以下痛点:
- 默认账户易被攻击,缺乏安全感。
- 不知道如何创建、管理或重置账号。不过,
- 不清楚密码存储方式是否安全。
- 权限分配混乱导致越权访问。
1. 常见数据库的默认登录名与密码
不同 DBMS 的默认管理员账户各不相同,了解这些信息能方便你定位风险:
-
MySQL使用者名为
root安装时可设空密码或自定义。 -
SQL Server使用者名为
sa安装时必设强密码。 -
Oracle超级使用者为
sys/system一样需要在安装时配置密码。说起来, -
- 默认超级使用者为 postgres。密码由管理员设置,怎么说呢,
2. 创建新的登录名与密码
-- 创建新使用者
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd!',-- 授予所有权限
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';-- 刷新权限
FLUSH PRIVILEGES;
-- 创建新登录名
CREATE LOGIN new_login WITH PASSWORD = 'StrongP@ssw0rd!',-- 创建对应数据库使用者
USE target_database;CREATE USER new_user FOR LOGIN new_login;-- 授权示例
EXEC sp_addrolemember N'db_owner',N'new_user';
Oracle 示例
CREATE USER new_user IDENTIFIED BY "StrongP@ssw0rd!",其实,GRANT CONNECT。RESOURCE TO new_user;ALTER USER new_user QUOTA UNLIMITED ON users;
3. 密码安全常用方法
- 复杂度要求:Password 必须包含大写字母、小写字母、数字和特殊字符,长度至少 12 位。
- Password 存储:- 大多数 DBMS 使用哈希算法或专用加密方案来存储。不要以明文形式保存,
- Password 管理器:- 使用可信的 Password Manager 或 Vault 工具集中管理凭据。
- AUDIT 日志:- 启用登录失败/成功日志,以便追踪异常行为并及时响应。
- AUTOMATIC ROTATION:- 定期轮换密码,并强制更新策略。
4. 登录失败限制与锁定策略
-- MySQL 示例
SET GLOBAL max_connect_errors = 10;SET GLOBAL connect_timeout = 10;-- 限制尝试次数
-- SQL Server 示例
ALTER LOGIN sa WITH CHECK_POLICY=ON;-- 强制复杂度与锁定策略
EXEC sp_configure 'login timeout',30;RECONFIGURE,
5. 权限与角色分离管理
Create 最小权限原则:只授予完成任务所需的最小权限集合。至于示例表格如下,
| User/Role | Description | |
|---|---|---|
| `read_only` | No write access – only SELECT allowed. | |
| `db_admin` | Total control over schema & data. | |
| `app_service` | Limited CRUD on application tables. | |
| `audit_viewer` | Select on audit tables only. | |
| Tip: | ||
| 使用角色而非单独赋权。可一次性调整多个使用者权限,更易维护安全合规性。 | ||
6. 常见问题与方法速查表
-
No admin password after installation?
- MySQL:
mysql_secure_installation或手动执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';- SQL Server: 在 Windows 身份验证模式下用 Windows 帐号进入 SSMS,接下来更改sa密码。 - "Cannot find login specified"?• 确认使用者名拼写、主机限制 是否正确。
-
"Password expired"?• 在 SQL Server 中运行
ALTER LOGIN username WITH PASSWORD = 'NewPass';• 在 Oracle 中执行ALTER USER username IDENTIFIED BY "NewPass";
7. 建议的工具与流程
- AWS Secrets Manager / Azure Key Vault / HashiCorp Vault – 用于集中存储、自动轮换凭据。
- PAM程序 – 限制对管理员账号的访问时间窗口。
- SCCM/Ansible 自动化脚本 – 一键创建、更新或禁用账号。
登录名和密码是第一道防线。许多开发者和运维人员常常遇到以下痛点:
- 默认账户易被攻击,缺乏安全感。
- 不知道如何创建、管理或重置账号。不过,
- 不清楚密码存储方式是否安全。
- 权限分配混乱导致越权访问。
1. 常见数据库的默认登录名与密码
不同 DBMS 的默认管理员账户各不相同,了解这些信息能方便你定位风险:
-
MySQL使用者名为
root安装时可设空密码或自定义。 -
SQL Server使用者名为
sa安装时必设强密码。 -
Oracle超级使用者为
sys/system一样需要在安装时配置密码。说起来, -
- 默认超级使用者为 postgres。密码由管理员设置,怎么说呢,
2. 创建新的登录名与密码
-- 创建新使用者
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd!',-- 授予所有权限
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';-- 刷新权限
FLUSH PRIVILEGES;
-- 创建新登录名
CREATE LOGIN new_login WITH PASSWORD = 'StrongP@ssw0rd!',-- 创建对应数据库使用者
USE target_database;CREATE USER new_user FOR LOGIN new_login;-- 授权示例
EXEC sp_addrolemember N'db_owner',N'new_user';
Oracle 示例
CREATE USER new_user IDENTIFIED BY "StrongP@ssw0rd!",其实,GRANT CONNECT。RESOURCE TO new_user;ALTER USER new_user QUOTA UNLIMITED ON users;
3. 密码安全常用方法
- 复杂度要求:Password 必须包含大写字母、小写字母、数字和特殊字符,长度至少 12 位。
- Password 存储:- 大多数 DBMS 使用哈希算法或专用加密方案来存储。不要以明文形式保存,
- Password 管理器:- 使用可信的 Password Manager 或 Vault 工具集中管理凭据。
- AUDIT 日志:- 启用登录失败/成功日志,以便追踪异常行为并及时响应。
- AUTOMATIC ROTATION:- 定期轮换密码,并强制更新策略。
4. 登录失败限制与锁定策略
-- MySQL 示例
SET GLOBAL max_connect_errors = 10;SET GLOBAL connect_timeout = 10;-- 限制尝试次数
-- SQL Server 示例
ALTER LOGIN sa WITH CHECK_POLICY=ON;-- 强制复杂度与锁定策略
EXEC sp_configure 'login timeout',30;RECONFIGURE,
5. 权限与角色分离管理
Create 最小权限原则:只授予完成任务所需的最小权限集合。至于示例表格如下,
| User/Role | Description | |
|---|---|---|
| `read_only` | No write access – only SELECT allowed. | |
| `db_admin` | Total control over schema & data. | |
| `app_service` | Limited CRUD on application tables. | |
| `audit_viewer` | Select on audit tables only. | |
| Tip: | ||
| 使用角色而非单独赋权。可一次性调整多个使用者权限,更易维护安全合规性。 | ||
6. 常见问题与方法速查表
-
No admin password after installation?
- MySQL:
mysql_secure_installation或手动执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';- SQL Server: 在 Windows 身份验证模式下用 Windows 帐号进入 SSMS,接下来更改sa密码。 - "Cannot find login specified"?• 确认使用者名拼写、主机限制 是否正确。
-
"Password expired"?• 在 SQL Server 中运行
ALTER LOGIN username WITH PASSWORD = 'NewPass';• 在 Oracle 中执行ALTER USER username IDENTIFIED BY "NewPass";
7. 建议的工具与流程
- AWS Secrets Manager / Azure Key Vault / HashiCorp Vault – 用于集中存储、自动轮换凭据。
- PAM程序 – 限制对管理员账号的访问时间窗口。
- SCCM/Ansible 自动化脚本 – 一键创建、更新或禁用账号。

