MySQL的mysql_secure_installation安全脚本执行方式

 更新时间:2026年06月08日 09:27:32   作者:黑蛋同志  
MySQL安全配置指南:执行mysql_secure_installation脚本,设置root密码、删除匿名用户及测试数据库,禁止root远程登录,重载权限表以提升安全性

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 服务器的安全性。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mysql 开启Federated引擎的方法

    Mysql 开启Federated引擎的方法

    FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件
    2012-12-12
  • 分享几道关于MySQL索引的重点面试题

    分享几道关于MySQL索引的重点面试题

    这篇文章主要给大家介绍了几道关于MySQL索引的重点面试题,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • MySQL中获取当前时间格式的方法汇总

    MySQL中获取当前时间格式的方法汇总

    在MySQL数据库开发中,获取时间是一个常见的需求,MySQL提供了多种方法来获取当前日期、时间和时间戳,并且可以对时间进行格式化、计算和转换,以下是一些常用的MySQL时间函数及其示例,需要的朋友可以参考下
    2024-06-06
  • MYSQL根据分组获取组内多条数据中符合条件的一条(实例详解)

    MYSQL根据分组获取组内多条数据中符合条件的一条(实例详解)

    这篇文章主要介绍了MYSQL根据分组获取组内多条数据中符合条件的一条,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • mysql导出查询结果到csv的实现方法

    mysql导出查询结果到csv的实现方法

    下面小编就为大家带来一篇mysql导出查询结果到csv的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error

    MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error

    这篇文章主要介绍了MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 命令行模式下备份、还原 MySQL 数据库的语句小结

    命令行模式下备份、还原 MySQL 数据库的语句小结

    为了安全起见,需要经常对数据库作备份,或者还原,学会在命令行模式下备份、还原数据库,还是很有必要
    2012-11-11
  • 一文详解MySQL单表存多大的数据量比较合适

    一文详解MySQL单表存多大的数据量比较合适

    MySQL单表的数据量上限主要受存储引擎和文件系统限制,理论值可达数千万至数十亿行,但实际建议控制在千万级以内以保证性能,这篇文章主要介绍了MySQL单表存多大的数据量比较合适的相关资料,需要的朋友可以参考下
    2026-02-02
  • Windows7中配置安装MySQL 5.6解压缩版

    Windows7中配置安装MySQL 5.6解压缩版

    这篇文章主要介绍了Windows7中配置安装MySQL 5.6解压缩版的方法以及安装过程中遇到的问题及解决方法,这里推荐给有需要的小伙伴
    2014-12-12
  • MySql查询时间段的方法

    MySql查询时间段的方法

    这篇文章主要介绍了MySql查询时间段的方法,包括了传统的针对时间字段的查询方法与UNIX时间戳的查询技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12

最新评论