写一个shell脚本用于自动化执行MySQL安全配置时需要交互的操作
时间: 2024-03-05 20:53:48 浏览: 71
好的,这里是一个简单的shell脚本,可以用于自动化执行MySQL安全配置时需要交互的操作:
```bash
#!/bin/bash
echo "Starting MySQL secure installation..."
# Set root password
mysql -u root -p <<EOF
UPDATE mysql.user SET Password=PASSWORD('your_password_here') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%';
FLUSH PRIVILEGES;
EOF
# Remove anonymous users
mysql_secure_installation <<EOF
y
EOF
# Disallow root login remotely
mysql_secure_installation <<EOF
n
y
EOF
# Remove test database and access to it
mysql_secure_installation <<EOF
y
EOF
# Reload privileges
mysql -u root -p <<EOF
FLUSH PRIVILEGES;
EOF
echo "MySQL secure installation completed!"
```
在脚本中,我们使用了Here Document(即 `<<EOF`)来将交互命令传递给MySQL命令行。在交互中,我们设置了root密码,删除了匿名用户,禁止了root远程登录,移除了测试数据库和访问权限,并刷新了权限。
请注意,这个脚本是一个简单的示例,您需要根据自己的需求进行修改和适应。
阅读全文