MySQL 的mysql_secure_installation安全脚本执行过程介绍

1.设置 MySQL root 用户密码。

2.删除匿名用户。

3.禁止 root 用户远程登录。

4.删除测试数据库。

5.重新加载权限表。

以下是执行 mysql_secure_installation 的详细步骤:

步骤 1:启动 mysql_secure_installation 脚本

打开终端并执行以下命令:

sudo mysql_secure_installation

步骤 2:输入当前的 MySQL root 密码

如果这是第一次设置,MySQL root 用户没有密码,你可以直接按 Enter 键。否则,输入当前的 root 密码。

步骤 3:设置新的 root 密码

你会被询问是否要设置新的 root 密码。如果当前没有设置 root 密码,建议设置一个强密码。输入 Y 并按 Enter,然后按照提示设置密码。

步骤 4:删除匿名用户

删除匿名用户账户,防止未授权用户登录 MySQL。输入 Y 并按 Enter。

5:禁止 root 用户远程登录

为了提高安全性,建议禁止 root 用户远程登录。输入 Y 并按 Enter。

步骤 6:删除测试数据库

删除默认安装的测试数据库,它可以被任何用户访问。输入 Y 并按 Enter。

步骤 7:重新加载权限表

最后,重新加载权限表,以确保所有更改生效。输入 Y 并按 Enter。

完整示例

以下是一个完整的示例输出:

Securing the MySQL server deployment.

Enter password for user root: (输入当前的 root 密码或直接按 Enter 如果没有密码)

The existing password for the user account root has expired. Please set a new password.

New password: (输入新的 root 密码)

Re-enter new password: (重新输入新的 root 密码)

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security.

It checks the strength of password and allows the users to set only those passwords which are secure enough.

Would you like to setup VALIDATE PASSWORD plugin

Press y|Y for Yes, any other key for No: Y (根据需要选择是否启用密码验证插件)

Please set the password validation policy:

LOW Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1 (选择密码验证策略)

Using existing password for root.

Estimated strength of the password: 100

Change the password for root ((Press y|Y for Yes, any other key for No) : N (如果刚刚设置了密码,这里选择 N)

... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users (Press y|Y for Yes, any other key for No) : Y (删除匿名用户)

Success.

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely (Press y|Y for Yes, any other key for No) : Y (禁止 root 用户远程登录)

Success.

By default, MySQL comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it (Press y|Y for Yes, any other key for No) : Y (删除测试数据库)

  • Dropping test database...
    Success.
  • Removing privileges on test database...
    Success.

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now (Press y|Y for Yes, any other key for No) : Y (重新加载权限表)

Success.

All done!

你已经成功执行了 mysql_secure_installation 并提高了 MySQL 服务器的安全性。

相关推荐
VimorphTech2 分钟前
文本已经改了,旧的音频生成结果还能回写吗?
java·数据库·mybatis
SelectDB3 分钟前
存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用
大数据·数据库·数据分析
盛世宏博智慧档案8 分钟前
一站式智慧档案解决方案,如何实现防火防盗漏水多维度安全监测实践
服务器·网络·数据库
GreatSQL13 分钟前
GreatSQL 8.0回流MySQL 5.7主从复制中断分析排查过程
mysql
数据库小学妹20 分钟前
MySQL磁盘IO瓶颈:iostat与刷脏fsync
数据库·mysql·性能优化
三兔测序学社32 分钟前
【零代码生信分析】RNA-seq中级分析11-差异基因进行222种不同类型数据库基因集之间的富集分析
数据库
衡石科技1 小时前
让多轮问数保持口径一致:Data Agent 的上下文、偏好与学习开关
人工智能·学习·安全
niuyueyang1 小时前
MCP `/mcp/status` Lifecycle 技术方案
java·服务器·数据库
Umi·1 小时前
MySQL之DQL使用实例
数据库·mysql
牧竹子2 小时前
当前支持向量的主流数据库情况对比
数据库