mysql_secure_installation

本文将介绍在安装MySQL Server后如何使用mysql_secure_installation脚本来执行关键的安全设置,包括为root用户设置密码、删除匿名账号、取消root用户远程登录、删除test库和相关权限,以及刷新授权表以确保安全设置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装完mysql-server 会提示可以运行mysql_secure_installation。

需要安装mysql-client,才可以。运行mysql_secure_installation会执行几个设置:

  a)为root用户设置密码

  b)删除匿名账号

  c)取消root用户远程登录

  d)删除test库和对test库的访问权限

  e)刷新授权表使修改生效

通过这几项的设置能够提高mysql库的安全。

### 使用 `spawn` 启动 `mysql_secure_installation` 进行 MySQL 安全配置 为了实现自动化并免交互地执行 `mysql_secure_installation`,可以利用 Expect 工具中的 `spawn` 命令来启动该进程,并通过脚本提供所需的输入。下面是一个详细的 Python 和 Expect 脚本示例。 #### 准备工作 确保已安装了必要的软件包: 对于基于 Red Hat 的系统(如 CentOS 或 RHEL),可以通过 YUM 来安装 MySQL 及其服务端组件[^4]: ```bash yum install mysql mysql-server ``` 接着安装 Expect 工具用于编写自动化的交互式命令处理程序: ```bash yum install expect ``` #### 自动化脚本实例 创建一个名为 `auto_mysql_secure_installation.sh` 的 Shell 文件,内容如下所示: ```expect #!/usr/bin/expect -f set timeout 10 # 设置新密码变量 set NEW_PASSWORD "your_new_password" # 开始 spawn 执行 mysql_secure_installation spawn /usr/bin/mysql_secure_installation # 输入当前 root 密码 (如果为空则直接按回车) expect { "*Enter current password*" { send "\r"; exp_continue } } # 是否设置 root 密码?(Y/n) -> y expect "*Set root password?" { send "y\r" } # 提供新的 root 用户密码 expect "*New password:" { send "$NEW_PASSWORD\r" } # 确认新设的 root 用户密码 expect "*Re-enter new password:" { send "$NEW_PASSWORD\r" } # 移除匿名用户? (Press y|Y for Yes, any other key for No) :-> y expect "*Remove anonymous users?" { send "y\r"} # 不允许远程登录 root ? (Press y|Y for Yes, any other key for No) :-> y expect "*Disallow root login remotely?" { send "y\r"} # 删除测试数据库和访问权限? (Press y|Y for Yes, any other key for No) :-> y expect "*Remove test database and access to it?" { send "y\r"} # 刷新权限表? (Press y|Y for Yes, any other key for No) :-> y expect "*Reload privilege tables now?" { send "y\r"} expect eof ``` 保存文件后赋予可执行权限: ```bash chmod +x auto_mysql_secure_installation.sh ``` 最后运行此脚本来完成 MySQL 的安全初始化配置: ```bash ./auto_mysql_secure_installation.sh ``` 上述脚本实现了对 `mysql_secure_installation` 流程的完全控制,在无人干预的情况下完成了所有推荐的安全增强措施[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值