MySQL 默认情况下允许无密码登录,这通常是通过在配置文件中设置 skip-grant-tables 或 mysql_native_password 插件来实现的。无密码登录虽然方便了开发和测试,但在生产环境中存在严重的安全风险。
无密码登录的主要优势在于其便捷性,特别是在开发和测试环境中,可以快速连接到数据库进行操作。
MySQL 的无密码登录主要有以下几种类型:
无密码登录主要应用于开发和测试环境,方便快速连接和操作数据库。
在生产环境中使用无密码登录会导致严重的安全问题,如:
为了确保生产环境的安全,必须取消无密码登录。以下是具体步骤:
编辑 MySQL 的配置文件(通常是 my.cnf 或 my.ini),找到并注释掉或删除以下行:
[mysqld]
# skip-grant-tables保存配置文件后,重启 MySQL 服务以使更改生效:
sudo systemctl restart mysql连接到 MySQL 数据库并设置强密码:
mysql -u root在 MySQL shell 中执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';
FLUSH PRIVILEGES;
EXIT;使用新设置的密码验证连接:
mysql -u root -p输入密码后,如果成功连接,说明无密码登录已被取消。
通过以上步骤,可以有效地取消 MySQL 的无密码登录,确保数据库的安全性。
没有搜到相关的文章