重命名root账户、设置强密码并启用密码策略、限制登录来源、删除多余账户。具体:1. 重命名root提高隐蔽性;2. 使用ALTER USER设置高强度密码并启用validate_password插件;3. 仅允许localhost登录,禁止远程访问;4. 删除非本地root实例并执行FLUSH PRIVILEGES;定期审计用户权限与登录日志,确保安全持续有效。

在 MySQL 中设置 root 用户的安全策略,核心是限制权限、强化认证和定期维护。root 是数据库的超级用户,一旦泄露风险极高,必须严格管理。
使用默认的 "root" 用户名容易成为攻击目标。建议重命名 root 账户以增加隐蔽性。
操作步骤:RENAME USER 'root'@'localhost' TO 'admin_db'@'localhost';
可根据实际需要自定义新用户名。注意:需确保知道新用户名以便后续登录。
强制 root 使用高强度密码,并通过插件限制密码复杂度。
设置强密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrong!Passw0rd';
密码应包含大小写字母、数字、特殊字符,长度不少于12位。
启用密码验证插件(MySQL 8.0+):编辑 my.cnf 或 my.ini 配置文件,添加:
validate_password.component_load = ON
SHOW VARIABLES LIKE 'validate_password.%';
SET GLOBAL validate_password.policy = MEDIUM;
禁止 root 从远程登录,仅允许本地访问,防止网络嗅探或暴力破解。
查看当前 root 登录权限:SELECT user, host FROM mysql.user WHERE user = 'root';
若存在 '%' 或具体 IP 记录,应删除或修改为 'localhost' 和 '127.0.0.1'。
限制仅本地访问:
DROP USER IF EXISTS 'root'@'%';
FLUSH PRIVILEGES;
系统可能因安装过程生成多个 root 实例,需清理冗余账户。
列出所有 root 相关账户:SELECT user, host FROM mysql.user WHERE user = 'root';
保留 'root'@'localhost' 和 'root'@'127.0.0.1',其余删除:
DROP USER 'root'@'::1';
DROP USER 'root'@'your-hostname';
完成后运行:
FLUSH PRIVILEGES;
基本上就这些。关键是不让 root 暴露在网络中,用强密码,必要时重命名。定期检查用户列表,避免权限扩散。安全不是一次设置就能高枕无忧,要持续关注日志和异常登录。不复杂但容易忽略。
以上就是如何在mysql中设置root用户安全策略的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号